From f364feef2fdc60e05ab194fe6476b0940ed78ab5 Mon Sep 17 00:00:00 2001 From: Andreas Deininger Date: Wed, 12 Jun 2024 09:11:12 +0200 Subject: [PATCH] Fix: correcting typos (#1411) * Fix typos * Undo file name change and treshold fix --------- Co-authored-by: mariachana_moturi <112471942+esthermmoturi@users.noreply.github.com> --- content/en/apps/examples/direct-to-client.md | 2 +- .../{Figure6Escalted.png => Figure6Escalated.png} | Bin content/en/apps/examples/interoperability.md | 2 +- content/en/apps/examples/phc-covid.md | 2 +- content/en/apps/examples/pih.md | 2 +- content/en/apps/guides/android/branding.md | 2 +- content/en/apps/guides/data/csv-to-docs.md | 2 +- content/en/apps/guides/data/users-bulk-load.md | 2 +- .../apps/guides/integrations/dhis2-aggregate.md | 2 +- content/en/apps/guides/integrations/openmrs.md | 6 +++--- content/en/apps/guides/integrations/rapidpro.md | 2 +- .../guides/messaging/gateways/gateway/phones.md | 2 +- .../messaging/gateways/gateway/troubleshooting.md | 8 ++++---- content/en/apps/guides/performance/purging.md | 2 +- content/en/apps/guides/performance/telemetry.md | 4 ++-- .../securely-onboarding-users-at-scale.md | 4 ++-- content/en/apps/reference/api.md | 2 +- content/en/apps/reference/app-settings/_index.md | 2 +- .../en/apps/reference/app-settings/hierarchy.md | 2 +- content/en/apps/reference/forms/app.md | 2 +- content/en/apps/reference/forms/collect.md | 2 +- content/en/apps/tutorials/application-graphics.md | 8 ++++---- content/en/apps/tutorials/application-tests.md | 2 +- content/en/apps/tutorials/contact-and-users-1.md | 2 +- content/en/apps/tutorials/couch2pg-setup.md | 6 +++--- content/en/apps/tutorials/death-reporting.md | 2 +- content/en/apps/tutorials/local-setup.md | 2 +- content/en/apps/tutorials/sms-forms.md | 8 ++++---- content/en/contribute/_index.md | 2 +- content/en/contribute/code/_index.md | 2 +- .../contribute/code/android/development-setup.md | 2 +- .../en/contribute/code/core/automated-tests.md | 2 +- .../en/contribute/code/core/dev-environment.md | 2 +- .../code/core/run-multiple-chrome-versions.md | 2 +- .../contribute/code/core/update-dependencies.md | 6 +++--- content/en/contribute/code/design-docs.md | 6 +++--- .../en/contribute/code/repository-checklist.md | 2 +- content/en/contribute/code/workflow.md | 10 +++++----- content/en/contribute/docs/style-guide.md | 2 +- .../medic/onboarding/technical-resources.md | 2 +- .../transparency-accountability.md | 2 +- content/en/core/overview/db-schema.md | 2 +- content/en/core/releases/0.4.15-and-earlier.md | 12 ++++++------ content/en/core/releases/3.11.0.md | 4 ++-- content/en/core/releases/3.8.0.md | 2 +- content/en/core/releases/3.8.1.md | 2 +- content/en/core/releases/3.9.0.md | 2 +- content/en/design/best-practices/_index.md | 4 ++-- ...-CHW-female.png => hierarchies-CHW-female.png} | Bin content/en/design/personas/chw-janet.md | 2 +- content/en/glossary.md | 2 +- content/en/hosting/3.x/app-developer.md | 6 +++--- content/en/hosting/3.x/ec2-setup-guide.md | 2 +- content/en/hosting/3.x/ssl-cert-install.md | 2 +- content/en/hosting/4.x/app-developer.md | 2 +- content/en/hosting/4.x/backups.md | 4 ++-- .../self-hosting/self-hosting-k3s-multinode.md | 14 +++++++------- content/en/hosting/_index.md | 2 +- content/en/hosting/monitoring/integration.md | 6 +++--- content/en/hosting/monitoring/setup.md | 4 ++-- content/en/running-programs/_index.md | 12 ++++++------ content/en/running-programs/training.md | 2 +- layouts/shortcodes/format-number.html | 2 +- publish_to_ghpages.sh | 2 +- troubleshooting.md | 6 +++--- 65 files changed, 112 insertions(+), 112 deletions(-) rename content/en/apps/examples/direct-to-client/{Figure6Escalted.png => Figure6Escalated.png} (100%) rename content/en/design/icons/people_and_places/PNGs/{hierachies-CHW-female.png => hierarchies-CHW-female.png} (100%) diff --git a/content/en/apps/examples/direct-to-client.md b/content/en/apps/examples/direct-to-client.md index f5b96e621..743159ad2 100644 --- a/content/en/apps/examples/direct-to-client.md +++ b/content/en/apps/examples/direct-to-client.md @@ -102,7 +102,7 @@ If the client has not responded to any of the daily check in-messages by day 3, A VMMC client who responds with a potential complication triggers a Client review: Potential complication task for the 2WT nurse. They then report and fill in whether the client was reviewed by a clinician. If the client has been reviewed by a clinician, they record the details of the review, time, place and adverse events identified. If the client has not been reviewed by a clinician, the 2WT nurse will try and trace them by SMS, phone call or a home visit; and report the tracing outcomes as shown in figure 6 below. -{{< figure src="Figure6Escalted.png" link="Figure6Escalted.png" alt="" title="" caption="Figure 6: Direct-to-client messaging for voluntary male circumcision clients without adverse effects" class="col-9">}} +{{< figure src="Figure6Escalated.png" link="Figure6Escalated.png" alt="" title="" caption="Figure 6: Direct-to-client messaging for voluntary male circumcision clients without adverse effects" class="col-9">}} #### 4. Clients can share requests by messaging health care providers. diff --git a/content/en/apps/examples/direct-to-client/Figure6Escalted.png b/content/en/apps/examples/direct-to-client/Figure6Escalated.png similarity index 100% rename from content/en/apps/examples/direct-to-client/Figure6Escalted.png rename to content/en/apps/examples/direct-to-client/Figure6Escalated.png diff --git a/content/en/apps/examples/interoperability.md b/content/en/apps/examples/interoperability.md index 82fddc519..9cc0937d8 100644 --- a/content/en/apps/examples/interoperability.md +++ b/content/en/apps/examples/interoperability.md @@ -13,7 +13,7 @@ This workflow describes a use case where a health facility or a requesting syste ## Problem Being Addressed -Data exchange between the CHT and other systems has primarily been at peer-to-peer level. This means that the integration is built to meet the specific need in the unique scenarios. This presents a problem during maintainance and scalability as there are no defined standards that have been used. [Interoperability](https://docs.communityhealthtoolkit.org/apps/concepts/interoperability/) allows technical teams to scale in an efficient and repeatable manner due to the already predefined standards. +Data exchange between the CHT and other systems has primarily been at peer-to-peer level. This means that the integration is built to meet the specific need in the unique scenarios. This presents a problem during maintenance and scalability as there are no defined standards that have been used. [Interoperability](https://docs.communityhealthtoolkit.org/apps/concepts/interoperability/) allows technical teams to scale in an efficient and repeatable manner due to the already predefined standards. ## Solution Overview diff --git a/content/en/apps/examples/phc-covid.md b/content/en/apps/examples/phc-covid.md index bfd6120b9..e1f0e1fdc 100644 --- a/content/en/apps/examples/phc-covid.md +++ b/content/en/apps/examples/phc-covid.md @@ -33,7 +33,7 @@ Through adaptations to PHC workflows, health program administrators are able to: * Support COVID-19 prevention, detection, and containment efforts within communities * Create a coordinated approach that safely serves health workers, facilities, and communities * Support home-based care for non-emergent COVID-19 cases to reduce overburdening on hospital systems -* Capture program learnings to create more robust and resilient health systems beyond supporting the immediate COVID-19 reponse +* Capture program learnings to create more robust and resilient health systems beyond supporting the immediate COVID-19 response ## Users and Hierarchy Example diff --git a/content/en/apps/examples/pih.md b/content/en/apps/examples/pih.md index bba1554cf..68dcb637a 100644 --- a/content/en/apps/examples/pih.md +++ b/content/en/apps/examples/pih.md @@ -53,7 +53,7 @@ This workflow consists of the pregnancy, delivery and postnatal workflows.The pr resolution="The woman visits the health facility, gets a pregnancy test and starts ANC clinic." %}} {{% workflow - condition="Incase of a confirmed pregnancy(woman has started ANC visits) the CHW submits a **Pregnancy Registration Form** with gestational age and facility EDD if available." + condition="In case of a confirmed pregnancy(woman has started ANC visits) the CHW submits a **Pregnancy Registration Form** with gestational age and facility EDD if available." task="Every first day of the month, the CHW receives **Pregnancy Follow-Up Task** to remind that it is time to check into pregnant mother. The tasks continue for 42 weeks." resolution="The CHW submits **Pregnancy Follow-Up Form** demonstrating that she provided ANC counseling, gathered information from prior facility visits, screened for danger signs and reminded the woman of her upcoming facility ANC visit." %}} diff --git a/content/en/apps/guides/android/branding.md b/content/en/apps/guides/android/branding.md index 77e14b3f8..3be71ac2a 100644 --- a/content/en/apps/guides/android/branding.md +++ b/content/en/apps/guides/android/branding.md @@ -63,7 +63,7 @@ If you are going to publish the app in the **Play Store**, Google will require t - A background image. - Screenshots. -Google is constantly changing the requirments to publish in the Play Store, it's a good practice to check in advance whether all the requirements are met (checkout _[Add preview assets...](https://support.google.com/googleplay/android-developer/answer/9866151)_). +Google is constantly changing the requirements to publish in the Play Store, it's a good practice to check in advance whether all the requirements are met (checkout _[Add preview assets...](https://support.google.com/googleplay/android-developer/answer/9866151)_). ##### Test data diff --git a/content/en/apps/guides/data/csv-to-docs.md b/content/en/apps/guides/data/csv-to-docs.md index f6f4ad660..7d1341796 100644 --- a/content/en/apps/guides/data/csv-to-docs.md +++ b/content/en/apps/guides/data/csv-to-docs.md @@ -163,7 +163,7 @@ For instance, to include the parent district's doc in a health center's doc, the ##### Including value from another doc -Similar to including another doc, it is also possible to get the value of a specific field in another doc. For instance, if `parent:GET _id OF place WHERE reference_id=COL_VAL` were used in the example above, the `parent` field's value would have been set to the `_id` of the refered to doc instead of including the whole doc. Note that `_id` is a generated value included in all generated docs. +Similar to including another doc, it is also possible to get the value of a specific field in another doc. For instance, if `parent:GET _id OF place WHERE reference_id=COL_VAL` were used in the example above, the `parent` field's value would have been set to the `_id` of the referred to doc instead of including the whole doc. Note that `_id` is a generated value included in all generated docs. | reference_id:excluded | parent:GET _id OF place WHERE reference_id=COL_VAL | is_name_generated | name | reported_date:timestamp | | --------------------- | -------------------------------------------------- | ----------------- | ---- | ----------------------- | diff --git a/content/en/apps/guides/data/users-bulk-load.md b/content/en/apps/guides/data/users-bulk-load.md index 49722c570..83ade7993 100644 --- a/content/en/apps/guides/data/users-bulk-load.md +++ b/content/en/apps/guides/data/users-bulk-load.md @@ -209,7 +209,7 @@ If a user you successfully created can not log in because they see an error: ![Access denied - You have insufficient privileges to view this page. Talk to an administrator to increase your privileges](access.denied.png) -A possible cause of this is you have a bad role defined in your spreadsheet that doesn't match your configuration. For example, the the default role should be `chw_supervisor`, but here we see garbage characters were accidentally added. While the user was created without errors, they'll see the above error when they try to log in: +A possible cause of this is you have a bad role defined in your spreadsheet that doesn't match your configuration. For example, the the default role should be `chw_supervisor`, but here we see garbage characters were accidentally added. While the user was created without errors, they'll see the above error when they try to log in: ![Bad type declared in spreadsheet causes the user to have no role](bad.type.png) diff --git a/content/en/apps/guides/integrations/dhis2-aggregate.md b/content/en/apps/guides/integrations/dhis2-aggregate.md index a8c23fc02..14f0033fd 100644 --- a/content/en/apps/guides/integrations/dhis2-aggregate.md +++ b/content/en/apps/guides/integrations/dhis2-aggregate.md @@ -27,7 +27,7 @@ These considerations are summarized below. The CHT relies on your Place hierarchy to determine how data should be aggregated for DHIS2. As such, it’s important that you consider how organization units are configured in the DHIS2 instance that you need to integrate data into. If your CHT Place hierarchy does not align with the DHIS2 organisation unit structure, the CHT will not be able to aggregate data in the way DHIS2 needs it. {{% alert title="Note" %}} -There should be a one-to-one relationship between DHIS2 organistion units and CHT places. +There should be a one-to-one relationship between DHIS2 organisation units and CHT places. {{% /alert %}} diff --git a/content/en/apps/guides/integrations/openmrs.md b/content/en/apps/guides/integrations/openmrs.md index f5a4573ca..57bc4425c 100644 --- a/content/en/apps/guides/integrations/openmrs.md +++ b/content/en/apps/guides/integrations/openmrs.md @@ -56,7 +56,7 @@ Here, you need to capture the basic details required for registering a patient o `patient_firstName` for first_name, `patient_middleName` for middle_name -Another example of patient identifiers could take the form `_IdentiferType_humanReadableName_IdentifierTypeUuid`. For example, national Id identifier type definition would be, `patient_identifierType_nationalId_49af6cdc-7968-4abb-bf46-de10d7f4859f`. +Another example of patient identifiers could take the form `_IdentifierType_humanReadableName_IdentifierTypeUuid`. For example, national Id identifier type definition would be, `patient_identifierType_nationalId_49af6cdc-7968-4abb-bf46-de10d7f4859f`. A sample form definition could be as follows: @@ -115,7 +115,7 @@ Here is a sample form snippet followed by sample select list in the choices work | begin group | group_assessment | Assessment | | | | | | | | | | | select_one client_consented | _1710_clientConsented_99DCT | Has ${patient_name} consented? | yes | | | | | | | | | | select_multiple disability_type | _162558_disabilityTypeMULTISELECT_99DCT | Disability type | yes | | | | | | | | | -| text | _160632_Specify_99DCT | Specify (0ther) | yes | ${_162558_disabilityTypeMULTISELECT_99DCT} = 'other' | | | | | | | | +| text | _160632_Specify_99DCT | Specify (Other) | yes | ${_162558_disabilityTypeMULTISELECT_99DCT} = 'other' | | | | | | | | | end group | | | | | | | | | | | | ##### Choices @@ -169,7 +169,7 @@ First, the data has to be transformed to an OpenMRS-compatible format before it "1542^OCCUPATION^99DCT": "1538^Farmer^99DCT" }, "discriminator": { - "dicriminator": "registration" + "discriminator": "registration" } } ``` diff --git a/content/en/apps/guides/integrations/rapidpro.md b/content/en/apps/guides/integrations/rapidpro.md index 5af5c6596..d1aa177c7 100644 --- a/content/en/apps/guides/integrations/rapidpro.md +++ b/content/en/apps/guides/integrations/rapidpro.md @@ -52,7 +52,7 @@ Before designing your integrated RapidPro/CHT workflow, it's important to unders ## Workflow Design -Designing an integrated workflow between mutliple systems is more of an art than a science. Drafting a sequence diagram (below) is a good first step. When drafting your sequence diagram, it is useful to consider a few key integration touchpoints that are common across many integrated workflows. +Designing an integrated workflow between multiple systems is more of an art than a science. Drafting a sequence diagram (below) is a good first step. When drafting your sequence diagram, it is useful to consider a few key integration touchpoints that are common across many integrated workflows. 1. One system **initiates or triggers an action in** the other system 2. One system needs to **get information from** the other system diff --git a/content/en/apps/guides/messaging/gateways/gateway/phones.md b/content/en/apps/guides/messaging/gateways/gateway/phones.md index 22094a625..be91c789d 100644 --- a/content/en/apps/guides/messaging/gateways/gateway/phones.md +++ b/content/en/apps/guides/messaging/gateways/gateway/phones.md @@ -11,7 +11,7 @@ relatedContent: > apps/guides/messaging/gateways/gateway/configuration --- -In order to use SMS workflows with the CHT you will need an SMS gateway. For reliability an SMS Aggregator, such as [Africa's Talking]({{< ref "apps/guides/messaging/gateways/africas-talking" >}}) or [RapidPro]({{< ref "apps/guides/messaging/gateways/rapidpro" >}}), is recommended. When an SMS Aggregator is not available, an Android device running [CHT Gateway](https://github.com/medic/cht-gateway) can be used to send and receive SMS in your CHT appplication. You may use an existing Android device and are not required to purchase a new one. However, for more reliable sending and receiving of SMS, the Android device should be in your organization’s office or facility with a consistent internet connection. +In order to use SMS workflows with the CHT you will need an SMS gateway. For reliability an SMS Aggregator, such as [Africa's Talking]({{< ref "apps/guides/messaging/gateways/africas-talking" >}}) or [RapidPro]({{< ref "apps/guides/messaging/gateways/rapidpro" >}}), is recommended. When an SMS Aggregator is not available, an Android device running [CHT Gateway](https://github.com/medic/cht-gateway) can be used to send and receive SMS in your CHT application. You may use an existing Android device and are not required to purchase a new one. However, for more reliable sending and receiving of SMS, the Android device should be in your organization’s office or facility with a consistent internet connection. Below is a list of recommended Android devices across a range of prices. You may find these in local mobile equipment stores as well as online through Amazon and other e-commerce sites. diff --git a/content/en/apps/guides/messaging/gateways/gateway/troubleshooting.md b/content/en/apps/guides/messaging/gateways/gateway/troubleshooting.md index d5bb0e1a3..7de65c08e 100644 --- a/content/en/apps/guides/messaging/gateways/gateway/troubleshooting.md +++ b/content/en/apps/guides/messaging/gateways/gateway/troubleshooting.md @@ -11,7 +11,7 @@ relatedContent: > apps/guides/messaging/gateways/gateway/configuration --- -In a techlead heaven, we would have immeadiate physical access to gateway phones, but alas, most of the time we have to hand them over to the partner. Fortunately, comes this guide on debugging gateway problems. +In a techlead heaven, we would have immediate physical access to gateway phones, but alas, most of the time we have to hand them over to the partner. Fortunately, comes this guide on debugging gateway problems. Follow the steps as below (if you don't have physical access to the phone, start with step 2 i.e debug from the server side first) @@ -22,9 +22,9 @@ Follow the steps as below (if you don't have physical access to the phone, start ![Settings Screen](settings_screen.png) - 3. Has the latest Gateway version. Get the latest version by opening the Google Playstore, searching for `Medic Gateway` and updating the existing app + 3. Has the latest Gateway version. Get the latest version by opening the Google Play Store, searching for `Medic Gateway` and updating the existing app - 4. Medic Gatway should be set as the default app for SMS. To check, go to `Settings` in the Gateway app. If Medic Gateway is not the default, you will be met with the below app screen. In that case, click `Help me change`. + 4. Medic Gateway should be set as the default app for SMS. To check, go to `Settings` in the Gateway app. If Medic Gateway is not the default, you will be met with the below app screen. In that case, click `Help me change`. ![Not Default](not_default.png) @@ -36,7 +36,7 @@ Follow the steps as below (if you don't have physical access to the phone, start 8. Check if the phone has adequate free space - 9. Restart the phone if no solution seems to work. Resetting the Adroind state sometimes resolves some persistent problems + 9. Restart the phone if no solution seems to work. Resetting the Android state sometimes resolves some persistent problems 2. When attacking the problem from the phones end does not work, move on to the server and try to solve it from there. Maybe the server has a configuration issue which hinders the processing or the acceptance of the messages by `Medic-Api` Follow the steps: diff --git a/content/en/apps/guides/performance/purging.md b/content/en/apps/guides/performance/purging.md index 20a6901e1..238213b4f 100644 --- a/content/en/apps/guides/performance/purging.md +++ b/content/en/apps/guides/performance/purging.md @@ -106,7 +106,7 @@ This function takes six parameters: - `contact`, the contact document of a patient or other contact who has reports about them. - `reports`, an array of all reports for that subject that are present on the server. - `messages`, an array of sms messages that the contact has sent or received. -- `chtScriptApi` (Optional) the CHT API that provides CHT-Core Framwework's functions to other parts of the app. More info on the API can be found [here]({{}}). Added in 4.3.0. +- `chtScriptApi` (Optional) the CHT API that provides CHT-Core Framework's functions to other parts of the app. More info on the API can be found [here]({{}}). Added in 4.3.0. - `permissions` (Optional) string or array of permissions that the user has. More info on permissions can be found [here]({{}}). Added in 4.3.0. And should return an array of `_id` values for docs you would like to be purged (or `undefined` / nothing if you don't wish to purge anything). `Only ids of docs that were passed to the function are valid for purging: you are not allowed to purge other documents. diff --git a/content/en/apps/guides/performance/telemetry.md b/content/en/apps/guides/performance/telemetry.md index 67a217b77..a22a5e11d 100644 --- a/content/en/apps/guides/performance/telemetry.md +++ b/content/en/apps/guides/performance/telemetry.md @@ -64,8 +64,8 @@ Find below the list of telemetry data recorded by CHT: | `search:reports:` | The time taken to search all reports using the given filters. | | | `contact_detail::load` | On the People tab, the time taken to load a contact, from the time the contact was selected to the time all content for that contact (contact summary, condition cards, reports, tasks, etc...) has fully loaded on the screen. Added in 4.7. | Yes. Added in 4.7| | `contact_detail:<_form>:load:contact_data` | The time taken to load a contact's data. Added in 4.7. | | -| `contact_detail:<_form>:load:load_descendants` | The time taken to load a contact's descendants, that is places and contacts under the contact heriarchy level. Added in 4.7. | | -| `contact_detail:<_form>:load:load_reports` | The time taken to load a contact's asociated reports. Added in 4.7. | | +| `contact_detail:<_form>:load:load_descendants` | The time taken to load a contact's descendants, that is places and contacts under the contact hierarchy level. Added in 4.7. | | +| `contact_detail:<_form>:load:load_reports` | The time taken to load a contact's associated reports. Added in 4.7. | | | `contact_detail:<_form>:load:load_targets` | The time taken to load a contact's targets. Added in 4.7. | | | `contact_detail:<_form>:load:load_tasks` | The time taken to load a contact's tasks. Added in 4.7. | | | `contact_detail:<_form>:load:load_contact_summary` | The time taken to load a contact's contact-summary. Added in 4.7. | | diff --git a/content/en/apps/guides/security/securely-onboarding-users-at-scale.md b/content/en/apps/guides/security/securely-onboarding-users-at-scale.md index 48635677d..732bfb502 100644 --- a/content/en/apps/guides/security/securely-onboarding-users-at-scale.md +++ b/content/en/apps/guides/security/securely-onboarding-users-at-scale.md @@ -77,7 +77,7 @@ For deployments that are centrally provisioning devices, it is acceptable for ge ### Worst practice: Shared list, anonymous access, similar passwords -Create all users with near identical passwords (eg `password123`, `passord234`, `password345` etc.) that are then printed out, shared via email or posted to a public URL which requires no authentication. Send an SMS to the CHW with username, password and URL of the device. +Create all users with near identical passwords (eg `password123`, `passord234`, `password345` etc.) that are then printed out, shared via email or posted to a public URL which requires no authentication. Send an SMS to the CHW with username, password and URL of the device. There's many failures here: * Passwords are predictable and easy to guess @@ -89,7 +89,7 @@ There's many failures here: By knowing what the security threats are you can know the most helpful steps to remediate them to limit the damage done to the CHT deployment, the privacy of the patients and the security of CHWs. {{% alert title="Note" %}} -Users who have their password changed can continue to use the CHT to deliver care. They need to _keep their device offline_ though. After a password change, when a CHW attempts to sync, they will be prompted to log in. At that point, they wlll not be able to continue using the CHT until they log in. +Users who have their password changed can continue to use the CHT to deliver care. They need to _keep their device offline_ though. After a password change, when a CHW attempts to sync, they will be prompted to log in. At that point, they will not be able to continue using the CHT until they log in. No data will be lost if they log in as the _same user_. {{% /alert %}} diff --git a/content/en/apps/reference/api.md b/content/en/apps/reference/api.md index 31bd3f55f..b4c17ff2e 100644 --- a/content/en/apps/reference/api.md +++ b/content/en/apps/reference/api.md @@ -56,7 +56,7 @@ Returns the settings in JSON format. | Variable | Description | | -------- | ------------------------------------------------------------------------------------------------------- | -| overwrite | Whether to replace settings document with input document. If both replace and overwite are set, then it overwites only. Defaults to replace. | +| overwrite | Whether to replace settings document with input document. If both replace and overwrite are set, then it overwrites only. Defaults to replace. | | replace | Whether to replace existing settings for the given properties or to merge. Defaults to false (merging). | Returns a JSON object with two fields: diff --git a/content/en/apps/reference/app-settings/_index.md b/content/en/apps/reference/app-settings/_index.md index 72f8ebea8..cbbf01957 100644 --- a/content/en/apps/reference/app-settings/_index.md +++ b/content/en/apps/reference/app-settings/_index.md @@ -124,7 +124,7 @@ messages.registration.report_accepted = Thank you {{contact.name}} for registeri ``` ### Date Format Filters -The following filter functions are available for formating dates. +The following filter functions are available for formatting dates. |filter|description| |-------|---------| diff --git a/content/en/apps/reference/app-settings/hierarchy.md b/content/en/apps/reference/app-settings/hierarchy.md index 12889bb40..f681e3493 100644 --- a/content/en/apps/reference/app-settings/hierarchy.md +++ b/content/en/apps/reference/app-settings/hierarchy.md @@ -43,4 +43,4 @@ You can change any contact type configuration easily except for the IDs. To chan ### Migration -If you already have person and place documents, switching from using the fixed hierarchy requires that you also update all the exisitng docs. Each contact and report holds the IDs of ancestors in their hierarchy so they will all need to be updated to be consistent with the changes you've made. You can use the cht-conf `move-contacts` command to help with this migration. +If you already have person and place documents, switching from using the fixed hierarchy requires that you also update all the existing docs. Each contact and report holds the IDs of ancestors in their hierarchy so they will all need to be updated to be consistent with the changes you've made. You can use the cht-conf `move-contacts` command to help with this migration. diff --git a/content/en/apps/reference/forms/app.md b/content/en/apps/reference/forms/app.md index 7c48bcebe..97a2cdf1e 100644 --- a/content/en/apps/reference/forms/app.md +++ b/content/en/apps/reference/forms/app.md @@ -264,7 +264,7 @@ The `z-score` function takes four parameters: - The name of z-score table to use, which corresponds to value of the database document's `_id` attribute. - Patient's sex, which corresponds to the data object's name. In the example below `male` for this parameter corresponds to `charts[].data.male` in the database document. - First parameter for the table lookup, such as age. Value maps to the `key` value in the database document. -- Second parameter for the table lookup, such as height. Value is compared against the `points` in the databae document. +- Second parameter for the table lookup, such as height. Value is compared against the `points` in the database document. #### Example Use [This example XForm form](https://github.com/medic/cht-core/blob/3.13.x/demo-forms/z-score.xml) shows the use of the z-score function. To calculate the z-score for a patient given their sex, age, and weight the XPath calculation is as follows: diff --git a/content/en/apps/reference/forms/collect.md b/content/en/apps/reference/forms/collect.md index 03dfa9358..347f2d427 100644 --- a/content/en/apps/reference/forms/collect.md +++ b/content/en/apps/reference/forms/collect.md @@ -14,7 +14,7 @@ Collect forms must be in the `forms/collect` folder to be processed by [`cht-con XForms require a couple minor changes to be compatible with Medic Collect so that they can properly be received by a Medic instance. The changes can be done either manually in the XForm's XML, or automatically with XLSForm forms using `cht-conf`. ### Automatic changes with XLSForms -If using a [XLSForm](http://xlsform.org/) and using [`cht-conf`](https://github.com/medic/cht-conf) to convert to XForm, the necessary fields will be automatically added to the resulting XForm. You can override the default prefix and separator by declaring `sms_keyword` and `sms_seperator` respectively in the Settings tab. +If using a [XLSForm](http://xlsform.org/) and using [`cht-conf`](https://github.com/medic/cht-conf) to convert to XForm, the necessary fields will be automatically added to the resulting XForm. You can override the default prefix and separator by declaring `sms_keyword` and `sms_separator` respectively in the Settings tab. ### Manual changes in XForm Collect forms need `prefix` and `delimiter` values added to the XForm's XML. This is done where the form ID is declared in the instance's data model. For example, the following: diff --git a/content/en/apps/tutorials/application-graphics.md b/content/en/apps/tutorials/application-graphics.md index 09d26e477..3577e77dd 100644 --- a/content/en/apps/tutorials/application-graphics.md +++ b/content/en/apps/tutorials/application-graphics.md @@ -62,7 +62,7 @@ The folder and files structure would look like this: pwa-icon.svg ``` -Finally run the command: `cht --url= upload-branding` +Finally run the command: `cht --url= upload-branding` #### Using the admin interface @@ -106,7 +106,7 @@ Edit the file with the following content: parnerB.png ``` -Finally run the command: `cht --url= upload-partners` +Finally run the command: `cht --url= upload-partners` #### Using the admin interface @@ -151,7 +151,7 @@ We will then add a `header_tabs` key within app_settings with the following stru The above assumes you have the following resource icons already in your instance (either uploaded or out-of-the-box): `medic-health-center`, `icon-treatment`. -Finally run the command: `cht --url= upload-app-settings` +Finally run the command: `cht --url= upload-app-settings` {{< see-also page="apps/reference/resources" title="Icons" >}} #### Using the admin interface @@ -194,7 +194,7 @@ The folder and files structure would look like this: medic-person.svg ``` -Finally run the command: `cht --url= upload-resources` +Finally run the command: `cht --url= upload-resources` To modify the icon used in contacts, you will need to edit the icon subkey in app_settings.json (under contact_types). You will modify app_settings.json with the following contents: diff --git a/content/en/apps/tutorials/application-tests.md b/content/en/apps/tutorials/application-tests.md index 381ee9f4e..1d2fc52a5 100644 --- a/content/en/apps/tutorials/application-tests.md +++ b/content/en/apps/tutorials/application-tests.md @@ -99,7 +99,7 @@ const harness = new TestRunner({ verbose: true }); Other useful options are: 1. `{ headless: false }` - Passed to [puppeteer](https://developers.google.com/web/tools/puppeteer/get-started#default_runtime_settings), launches browser with GUI. Helpful to see how the form is getting filled. -2. `{ harnessDataPath: 'harness.clinic.json'}`: Specify different harness confguration +2. `{ harnessDataPath: 'harness.clinic.json'}`: Specify different harness configuration You can find more harness options and examples [here](https://docs.communityhealthtoolkit.org/cht-conf-test-harness/Harness.html). diff --git a/content/en/apps/tutorials/contact-and-users-1.md b/content/en/apps/tutorials/contact-and-users-1.md index b6485081c..acad6563b 100644 --- a/content/en/apps/tutorials/contact-and-users-1.md +++ b/content/en/apps/tutorials/contact-and-users-1.md @@ -40,7 +40,7 @@ You should have a functioning CHT instance with contact forms configured. Read [ ## Implementation Steps -In this tutorial, you will work with the default contact forms and the default hierachy, which is illustrated above in the overview of key concepts. +In this tutorial, you will work with the default contact forms and the default hierarchy, which is illustrated above in the overview of key concepts. While logged in as an admin user, you will first create the Health Facility, CHW Supervisor, CHW Area, and CHW. You will then create the users for the CHW so that they can log in and create households and household members. diff --git a/content/en/apps/tutorials/couch2pg-setup.md b/content/en/apps/tutorials/couch2pg-setup.md index 25cae50eb..8b0209cde 100644 --- a/content/en/apps/tutorials/couch2pg-setup.md +++ b/content/en/apps/tutorials/couch2pg-setup.md @@ -23,7 +23,7 @@ By the end of the tutorial you should be able to: *COUCHDB_URL* is the CouchDB instance URL with no trailing slash after `/medic`, format: `https://[user]:[password]@localhost:[port]/medic` -*POSTGRESQL_URL* is the PostgresSQL instance URL, format: `postgres://[user]:[password]@localhost:[port]/[database name]` +*POSTGRESQL_URL* is the PostgreSQL instance URL, format: `postgres://[user]:[password]@localhost:[port]/[database name]` *COUCH2PG_SLEEP_MINS* is the interval size in minutes Couch2pg will use to poll Couchdb. @@ -39,7 +39,7 @@ To read more about environmental variables, see the [CHT Couch2pg readme](https: Before you begin, you need to have some useful software and tools that are required for things to work: -* [nodejs](https://nodejs.org/en/) 8 upto 12. +* [nodejs](https://nodejs.org/en/) 8 up to 12. * [npm](https://www.npmjs.com/get-npm) * [PostgreSQL](https://www.postgresql.org/) 9.4 or later @@ -94,7 +94,7 @@ If you want to set and save all possible variables: ## Using docker-compose -The simplest way to run couch2pg is with `docker-compose` which only needs configuration of the CouchDB instance URL. The compose file will then create a PostgresSQL container, connect to the CouchDB server and proceed to download couchDB documents to the PostgreSQL container: +The simplest way to run couch2pg is with `docker-compose` which only needs configuration of the CouchDB instance URL. The compose file will then create a PostgreSQL container, connect to the CouchDB server and proceed to download couchDB documents to the PostgreSQL container: 1. Change directory into the repo's directory where you cloned it: `cd /path/to/cht-couch2pg` diff --git a/content/en/apps/tutorials/death-reporting.md b/content/en/apps/tutorials/death-reporting.md index f7ed22f1c..276659aab 100644 --- a/content/en/apps/tutorials/death-reporting.md +++ b/content/en/apps/tutorials/death-reporting.md @@ -105,7 +105,7 @@ To enable death reporting: 4. View the "place" containing the deceased contact in the contacts tab. The contact will not appear as "deceased" 5. Sync your documents (this pushes the death report to the server) 6. Sync your documents again (this pulls down the transitioned contact document from the server) -7. The contact should now be hidden and accessable only via the "View deceased" flyout +7. The contact should now be hidden and accessible only via the "View deceased" flyout 8. If you specified a `date_field` in Step 3, confirm that the `date_of_death` attribute on the deceased contact matches the selected date in the death report. 9. Create contacts that you **do not expect** to be able to die. View the contact's profiles and confirm the "Death Report" does not show in the "+ New Action" tab. diff --git a/content/en/apps/tutorials/local-setup.md b/content/en/apps/tutorials/local-setup.md index 2a127f0b3..c1fddea1c 100644 --- a/content/en/apps/tutorials/local-setup.md +++ b/content/en/apps/tutorials/local-setup.md @@ -231,7 +231,7 @@ With the test data uploaded, log back into your CHT instance and note the "Test This step will erase the default Maternal & Newborn Health Reference Application. {{% /alert %}} -You can also upload the blank project you created above (via the `cht initilise-project-layout` command). +You can also upload the blank project you created above (via the `cht initialise-project-layout` command). Deploy the blank project onto your local test environment with the following command: diff --git a/content/en/apps/tutorials/sms-forms.md b/content/en/apps/tutorials/sms-forms.md index 7db715f4e..93e749b2d 100644 --- a/content/en/apps/tutorials/sms-forms.md +++ b/content/en/apps/tutorials/sms-forms.md @@ -30,9 +30,9 @@ You will be building a pregnancy registration workflow that allows Community Hea SMS forms are defined in either the `base_settings.json` or the `app_settings/forms.json` file and compiled into the *[app_settings.json]({{< ref "apps/reference/app-settings" >}})* file with the `compile-app-settings` action in the `cht-conf` tool, then stored in the settings doc in the database. -*[SMS gateways]({{< ref "apps/guides/messaging/gateways" >}})* allow the CHT coreframework to send and recieve SMS transmission to or from a mobile network operator. +*[SMS gateways]({{< ref "apps/guides/messaging/gateways" >}})* allow the CHT core framework to send and receive SMS transmission to or from a mobile network operator. -*SMS aggregators* act as intermediaries between the mobile network operators and the CHT coreframework. They allow for greater customization of SMS workflows in the CHT. +*SMS aggregators* act as intermediaries between the mobile network operators and the CHT core framework. They allow for greater customization of SMS workflows in the CHT. *Interoperability:* CHT apps can receive data from other software when it is submitted as reports using the same JSON/SMS form notation. @@ -118,7 +118,7 @@ To set the validation rules and autoresponses, edit the array corresponding to t } ], "validations": { - "join_respones": false, + "join_responses": false, "list": [ { "property": "place_name", @@ -135,7 +135,7 @@ To set the validation rules and autoresponses, edit the array corresponding to t "messages": [ { "event_type":"report_accepted", - "recepient": "reporting_unit", + "recipient": "reporting_unit", "translation_key": "messages.hr.report_accepted" } ] diff --git a/content/en/contribute/_index.md b/content/en/contribute/_index.md index bac8e4d22..c81dd263a 100644 --- a/content/en/contribute/_index.md +++ b/content/en/contribute/_index.md @@ -10,7 +10,7 @@ There are many ways to contribute to the Community Health Toolkit. ### Are you a developer? -The [Development](https://forum.communityhealthtoolkit.org/c/developement/7) section of the forum is a great place to introduce yourself and ask questions. Or you can also jump right in: +The [Development](https://forum.communityhealthtoolkit.org/c/support/development/7) section of the forum is a great place to introduce yourself and ask questions. Or you can also jump right in: - Issues labeled [help wanted](https://github.com/medic/cht-core/issues?q=is%3Aopen%20is%3Aissue%20label%3A%22Help%20wanted%22) are a great place to start. - Learn to [build and host apps]({{% ref "apps" %}}), and share your experiences - [Share a new idea or question](https://forum.communityhealthtoolkit.org/) on our Forum diff --git a/content/en/contribute/code/_index.md b/content/en/contribute/code/_index.md index 00f4be3df..36dc20e10 100644 --- a/content/en/contribute/code/_index.md +++ b/content/en/contribute/code/_index.md @@ -12,7 +12,7 @@ See the [CHT Core Developer Setup guide]({{% ref "contribute/code/core/dev-envir The Core Framework of the Community Health Toolkit is powered by people like you. Your contributions help us create open source technology for a new model of healthcare that reaches everyone. -The [Development](https://forum.communityhealthtoolkit.org/c/developement/7) section of the forum is a great place to introduce yourself and ask questions. Or you can also jump right in: +The [Development](https://forum.communityhealthtoolkit.org/c/support/development/7) section of the forum is a great place to introduce yourself and ask questions. Or you can also jump right in: The CHT community welcomes first-time contributors and experts alike. All comments, questions, and ideas are welcome! diff --git a/content/en/contribute/code/android/development-setup.md b/content/en/contribute/code/android/development-setup.md index 5d03fd45f..5323ca23d 100644 --- a/content/en/contribute/code/android/development-setup.md +++ b/content/en/contribute/code/android/development-setup.md @@ -29,7 +29,7 @@ Finally, you will learn how to assemble the app, run the tests, and how to choos **Gradle** is also used but it's downloaded and installed in the user space the first time `make` is executed. You can also build and launch the app with [Android Studio](#android-studio). -Bellow are the instructions of how to install and setup some of the tools required. +Below are the instructions of how to install and setup some of the tools required. ## Install diff --git a/content/en/contribute/code/core/automated-tests.md b/content/en/contribute/code/core/automated-tests.md index d972c5958..17c637f53 100644 --- a/content/en/contribute/code/core/automated-tests.md +++ b/content/en/contribute/code/core/automated-tests.md @@ -34,7 +34,7 @@ When looking at a well-factored codebase there are three common ways to automate Small tests of specific behavior. Each unit test is only intended to validate an isolated piece (unit) of functionality separated from the rest of the system. Any dependencies are often mocked. ### Expectations -High coverage of functionality. If measured in branch coverage percentage, aim for 100%. This is the place to guarantee confidence in the system. If a higher-level test spots and error and there's no lower-level test failing, you need to evaluate if a lower test should be writen. +High coverage of functionality. If measured in branch coverage percentage, aim for 100%. This is the place to guarantee confidence in the system. If a higher-level test spots and error and there's no lower-level test failing, you need to evaluate if a lower test should be written. | Execution Speed | Complexity | Fragility | |------------|---------|---------| diff --git a/content/en/contribute/code/core/dev-environment.md b/content/en/contribute/code/core/dev-environment.md index 789e5ed76..1d0b1bcc9 100644 --- a/content/en/contribute/code/core/dev-environment.md +++ b/content/en/contribute/code/core/dev-environment.md @@ -147,7 +147,7 @@ COUCHDB_USER=medic COUCHDB_PASSWORD=password docker-compose -f docker-compose.ym Now you have everything installed and can begin development! You'll need three separate terminals when doing development. -In the first terminal we'll compile and deploy the web application by runing: +In the first terminal we'll compile and deploy the web application by running: ```shell cd ~/cht-core && npm run build-dev-watch diff --git a/content/en/contribute/code/core/run-multiple-chrome-versions.md b/content/en/contribute/code/core/run-multiple-chrome-versions.md index b38a27af4..b7b65cec4 100644 --- a/content/en/contribute/code/core/run-multiple-chrome-versions.md +++ b/content/en/contribute/code/core/run-multiple-chrome-versions.md @@ -15,7 +15,7 @@ These steps are suitable for Mac. It was tested in a Mac Intel. It can be adapt Follow these steps on a Mac to run Chrome version 90 while having another Chrome app on a different version. - Download Chrome `90.0.4430.72` from [slimjet](https://www.slimjet.com/chrome/google-chrome-old-version.php?cmtx_sort=) - Do not install the `Google Chrome.app` in your `Application` folder. Install it in your `Desktop` folder for example. -- Change the name of the app to `Google Chrome 90.app` and then move it to the `Application` folder, ***without*** overwritting your current Chrome +- Change the name of the app to `Google Chrome 90.app` and then move it to the `Application` folder, ***without*** overwriting your current Chrome - Remove Chrome’s automatic updates by: - Close all Chrome open instances. - Open `Google Chrome 90.app` while not having Internet, so it doesn't give an error after modifying the `Info.plis`. diff --git a/content/en/contribute/code/core/update-dependencies.md b/content/en/contribute/code/core/update-dependencies.md index 75e0f7055..3338bec5e 100644 --- a/content/en/contribute/code/core/update-dependencies.md +++ b/content/en/contribute/code/core/update-dependencies.md @@ -22,8 +22,8 @@ Every minor release we update dependencies to get the latest fixes and improveme ## Steps 1. Checkout and pull the latest default branch - get the latest code -2. Make a branch: `git checkout -b "-update-dendencies"` -3. Take a look at the current [list of dependencies related issues](https://github.com/medic/cht-core/issues?q=is%3Aopen+is%3Aissue+label%3ADependencies), where you can find the latest conversations and information. +2. Make a branch: `git checkout -b "-update-dependencies"` +3. Take a look at the current [list of dependencies related issues](https://github.com/medic/cht-core/issues?q=is%3Aopen+is%3Aissue+label%3ADependencies), where you can find the latest conversations and information. Then for each folder go through these steps. @@ -62,7 +62,7 @@ When upgrading Webapp's Angular, you might get the following exception: ``` Running "exec:build-webapp" (exec) task ________________________________________ -An unhandled exception occured: Class extends value undefined is not a constructor or null +An unhandled exception occurred: Class extends value undefined is not a constructor or null see "/private/var/folders/tx/lskdwi/T/ng-23kdi/angular-errors.log" for further details. >> Exited with code: 127 ``` diff --git a/content/en/contribute/code/design-docs.md b/content/en/contribute/code/design-docs.md index 650e2ddf2..d0ffe6bbc 100644 --- a/content/en/contribute/code/design-docs.md +++ b/content/en/contribute/code/design-docs.md @@ -28,10 +28,10 @@ The design doc can be added to the GitHub issue related to the feature or initia The list below contains a non-exhaustive list of items a design doc could cover. #### Context -An overview of the context in which the piece of software is being built and what is actually being built. It's important to keep this section succint as it's only meant to bring the readers up to speed with the background facts. +An overview of the context in which the piece of software is being built and what is actually being built. It's important to keep this section succinct as it's only meant to bring the readers up to speed with the background facts. #### Goals and scope -A short list of what the goals of the piece of software are, and, very importantly, what is out of scope. The out of scope items are explicitly chosen not to be goals, as for example "FHIR compliace of the API". Please note that a solution could cover out of scope items, as long as it doesn’t introduce trade-offs that prevent achieving the goals. +A short list of what the goals of the piece of software are, and, very importantly, what is out of scope. The out of scope items are explicitly chosen not to be goals, as for example "FHIR compliance of the API". Please note that a solution could cover out of scope items, as long as it doesn’t introduce trade-offs that prevent achieving the goals. #### Proposed solution The details of the solution that was chosen for implementation. This flexible-format section can contain how the developer envisions to code the solution, diagrams, sample code, pseudo-code, security considerations, and references to similar solutions or frameworks to be used. It's important that this section explains why this particular solution best satisfies the goals. @@ -51,7 +51,7 @@ Any open issues that you aren’t sure about, or suggested future work. [This example](https://docs.google.com/document/d/1bR3jygKQvfIK1CkRaplxz4LyXQqgO21MTjy8Jsd6s6c/edit?usp=sharing) shows how a design doc could look like. {{% alert title="Remember" %}} -* Keep it simple and concise, write just enough documentation. Design docs should be sufficiently detailed but succint enough to actually be read by busy people. +* Keep it simple and concise, write just enough documentation. Design docs should be sufficiently detailed but succinct enough to actually be read by busy people. * Be clear: Don't use unnecessarily complicated language and simplify whenever you can. * Make important points stand out (for example, in bold letters). {{% /alert %}} diff --git a/content/en/contribute/code/repository-checklist.md b/content/en/contribute/code/repository-checklist.md index f8507af07..1d515cb3f 100644 --- a/content/en/contribute/code/repository-checklist.md +++ b/content/en/contribute/code/repository-checklist.md @@ -59,7 +59,7 @@ A: If what you are working on is temporary and just for you then it is fine to c A: Repositories should be public unless there is very good reason to make it private (e.g. the repository contains partner details that cannot be disclosed to public). Always keep in mind that it is much easier to start public than change to public later. ### Q: When to create a new repository vs adding a directory in existing (monolithic)? -A: It depends on the nature of the code. Some things to consider are: is the new code and the old code dependant, don't make sense on their own, must be versioned together, etc. If not, default to a new repo to reduce complexity. +A: It depends on the nature of the code. Some things to consider are: is the new code and the old code dependent, don't make sense on their own, must be versioned together, etc. If not, default to a new repo to reduce complexity. ## More info diff --git a/content/en/contribute/code/workflow.md b/content/en/contribute/code/workflow.md index 40dbaeb04..372480f9a 100644 --- a/content/en/contribute/code/workflow.md +++ b/content/en/contribute/code/workflow.md @@ -98,7 +98,7 @@ An example of a good thorough comment/template is as follows: Reach out to the Quality Assurance Engineers with the work to be done as early as possible in the development process to ensure they are informed and can guide development (see more in the [Quality Assistance]({{< ref "contribute/medic/product-development-process/quality-assistance" >}}) dedicated page). -Before asking for testing support from the QA Engineers, you should test your work after performing it. Correcting a small code error, such as a typo, or addding a missing step in the testing instructions could save QA Engineers hours of work. Also, by testing your code, you may get a better sense of why you make certain common mistakes, and learn to avoid repeating them in the future. +Before asking for testing support from the QA Engineers, you should test your work after performing it. Correcting a small code error, such as a typo, or adding a missing step in the testing instructions could save QA Engineers hours of work. Also, by testing your code, you may get a better sense of why you make certain common mistakes, and learn to avoid repeating them in the future. All features and bug fixes must have at least one unit test. All features must have at least one end-to-end test. @@ -198,14 +198,14 @@ Description of the scenario - This is not required for all the tests A small description of how it was reproduced, and images or videos that support the comment.
-Image/video attached +Image/video attached
### Fixed on `####-branch-name` A small description, and images or videos that support the comment.
-Image/video attached +Image/video attached
--- @@ -232,14 +232,14 @@ Description of the scenario - This is not required for all the tests A small description of how it was reproduced, and images or videos that support the comment.
-Image/video attached +Image/video attached
### Not working on `####-branch-name` A small description, and images or videos that support the comment.
-Image/video attached +Image/video attached
--- diff --git a/content/en/contribute/docs/style-guide.md b/content/en/contribute/docs/style-guide.md index 5198b84a5..a4a1c3782 100644 --- a/content/en/contribute/docs/style-guide.md +++ b/content/en/contribute/docs/style-guide.md @@ -10,7 +10,7 @@ show_toc: true This style guide provides a set of editorial guidelines for anyone writing documentation for Community Health Toolkit projects. These are guidelines, not rules. Use your best judgment. {{% alert title="Note" %}} -This documentation site does not involve release management and acceptance testing. Help us maintain the quality of our documentation by submiting a pull request (PR) with any suggested changes. One of the repository's maintainers will review the PR, request additional changes as needed, and merge the PR when it is ready. +This documentation site does not involve release management and acceptance testing. Help us maintain the quality of our documentation by submitting a pull request (PR) with any suggested changes. One of the repository's maintainers will review the PR, request additional changes as needed, and merge the PR when it is ready. {{% /alert %}} diff --git a/content/en/contribute/medic/onboarding/technical-resources.md b/content/en/contribute/medic/onboarding/technical-resources.md index ae98dead2..22a51b2a8 100644 --- a/content/en/contribute/medic/onboarding/technical-resources.md +++ b/content/en/contribute/medic/onboarding/technical-resources.md @@ -18,7 +18,7 @@ Some of the suggestions below could be for internal courses and/or material crea {{% /alert %}} ## Exercises -There is a Slack channel *#exercism* where engineers and tech enthusiats meet and discuss JavaScript and TypeScript exercises from [exercism.org](https://exercism.org/) on a weekly basis. The primary goal of this channel is to discuss with your teammates and have a fun, open discussion on how the provided solutions can be improved, while also having the opportunity to connect with people from other teams. Even though this is optional, it is highly encouraged to join and participate frequently. +There is a Slack channel *#exercism* where engineers and tech enthusiasts meet and discuss JavaScript and TypeScript exercises from [exercism.org](https://exercism.org/) on a weekly basis. The primary goal of this channel is to discuss with your teammates and have a fun, open discussion on how the provided solutions can be improved, while also having the opportunity to connect with people from other teams. Even though this is optional, it is highly encouraged to join and participate frequently. ## Technical Resources diff --git a/content/en/contribute/medic/product-development-process/transparency-accountability.md b/content/en/contribute/medic/product-development-process/transparency-accountability.md index 8487bc019..5413978a2 100644 --- a/content/en/contribute/medic/product-development-process/transparency-accountability.md +++ b/content/en/contribute/medic/product-development-process/transparency-accountability.md @@ -22,7 +22,7 @@ Boards are: ## Ticket updates For any ticket in a state of "In Progress", there should be visible progress within 24 hours. Some example scenarios include: -1. A developer has started writing code. This is most likely case and is as easy as linking (draft PRs work great for this!) the code being written to the ticket so observers can see commits being made on a branch. Nobody want's to hassle you about how it's going. Let others self-serve on that. +1. A developer has started writing code. This is most likely case and is as easy as linking (draft PRs work great for this!) the code being written to the ticket so observers can see commits being made on a branch. Nobody wants to hassle you about how it's going. Let others self-serve on that. 1. Comments and "thinking out loud" on the ticket, especially when no new code is being pushed up. In such a distributed environment, it's hard to tell the difference between nothing happening and someone thinking through tough stuff. Put some of that tough stuff into a comment on the ticket. It lets others know it's tough and also makes it easier for others to help or learn from. 1. Work needs to happen, but other things came up. Make a quick comment so others know. It may mean that work won't get done this week, and if that's the case, it is probably for good reason. Silence makes it hard for anyone to understand that "probably for good reason" part though. Help others understand the trade-off you had to make. 1. Something is blocking progress. First, get that into a comment on the ticket, fast; people can help! Then use additional communication channels to get it unblocked even faster. diff --git a/content/en/core/overview/db-schema.md b/content/en/core/overview/db-schema.md index 00682c543..60c26a464 100644 --- a/content/en/core/overview/db-schema.md +++ b/content/en/core/overview/db-schema.md @@ -220,7 +220,7 @@ The record in the `_users` database includes: - The `type` of `user` - The password hash and associated data -The `_users` database is what CouchDB uses for authentication and is only editable by administrative users, so is authoritive when it comes to roles and the like. +The `_users` database is what CouchDB uses for authentication and is only editable by administrative users, so is authoritative when it comes to roles and the like. The `medic` database stores a copy of roles and permissions along with: - The `type` of `user-settings` diff --git a/content/en/core/releases/0.4.15-and-earlier.md b/content/en/core/releases/0.4.15-and-earlier.md index d57e2dc86..6d28c4fa5 100644 --- a/content/en/core/releases/0.4.15-and-earlier.md +++ b/content/en/core/releases/0.4.15-and-earlier.md @@ -409,7 +409,7 @@ _April 10, 2014_ - User Management UX refactor #385, #380, #462, #380, #379, #378, #377, #429 - Fixed bug on facilities screen where delete functions would stack up and - inadvertantly delete a facility. #469 + inadvertently delete a facility. #469 ## 0.3.2 @@ -515,7 +515,7 @@ _January 21, 2014_ - Added exclude_cols query param to csv/xml form exports. #421 - For example inlude `exclude_cols=1,5` in your query parameters to + For example include `exclude_cols=1,5` in your query parameters to remove the first and fifth column of an export. - bugfix on export query params and UX adjustments @@ -535,7 +535,7 @@ _January 21, 2014_ holding up the page load. Indexing \_id as `uuid` in field index so you can search for - `uuid:10366976d62ab9a31257b2fad16113ee` now and it shows up in avaialble + `uuid:10366976d62ab9a31257b2fad16113ee` now and it shows up in available fields index. For some reason I think underscore prefixed fields do show up in fields listing on Lucene for some reason. @@ -548,7 +548,7 @@ _January 21, 2014_ - Added new Messages Export and removed message data from Forms Export New http endpoint `/export/messages` to get messages export. Records are - always latest first (reverse cronological). Message export will include + always latest first (reverse chronological). Message export will include all records (valid and invalid), the point of the messages export is to give you access to all your message data, including outgoing error messages. @@ -744,14 +744,14 @@ _January 21, 2014_ * Renamed kujua-export to kujua-base #88 * Added dropdown health centers and districts to spreadsheet #99, #66 * Various facilities spreadsheet bug fixes #92, #91, #94 -* Added CouchDB security steps to intall doc #88, #66 +* Added CouchDB security steps to install doc #88, #66 * Fixed authorization passthrough for tasks pending #87 * Various data records screen fixes #84, #83, #56 * Updated gateway/SMSSync binary and added S3 link to install docs * Removed Export branding * Started on functional tests using zombie.js and vows * Added health centers and districts spreadsheet -* Added facilties section and spreadsheet editor #63 +* Added facilities section and spreadsheet editor #63 * Assert forms that pass validation gets saved #78, #75, #46 * Fixed bug where form submission fails if it has extra fields #75 * Fixed 24-hour time display bug diff --git a/content/en/core/releases/3.11.0.md b/content/en/core/releases/3.11.0.md index 9ccd96985..6da9fe0f7 100644 --- a/content/en/core/releases/3.11.0.md +++ b/content/en/core/releases/3.11.0.md @@ -157,7 +157,7 @@ If you wish to automate configuration deployment you can now use our GitHub Acti - [cht-core#6663](https://github.com/medic/cht-core/issues/6663): Type error when running remove_non_admin_users script - [cht-core#6700](https://github.com/medic/cht-core/issues/6700): For targets without `idType`, the winning emission is not deterministic - [cht-core#6711](https://github.com/medic/cht-core/issues/6711): Form submissions hang in desktop browsers when location permission requests are ignored by users -- [cht-core#6811](https://github.com/medic/cht-core/issues/6811): Targets with property "passesIfGroupCount.gte" count intances with "pass: false" when aggregating +- [cht-core#6811](https://github.com/medic/cht-core/issues/6811): Targets with property "passesIfGroupCount.gte" count instances with "pass: false" when aggregating - [cht-core#6814](https://github.com/medic/cht-core/issues/6814): Document update conflicts deleting reviewed report - [cht-core#6835](https://github.com/medic/cht-core/issues/6835): Android app version and Server URL not showing in About page - [cht-core#6839](https://github.com/medic/cht-core/issues/6839): Race condition in rules engine / task list interaction can result in a stale tasks list @@ -196,7 +196,7 @@ If you wish to automate configuration deployment you can now use our GitHub Acti - [cht-core#6616](https://github.com/medic/cht-core/issues/6616): Update `admin` to be a standalone app - [cht-core#6632](https://github.com/medic/cht-core/issues/6632): Be able to run unit tests from different apps in the CHT - [cht-core#6728](https://github.com/medic/cht-core/issues/6728): Add documentation for demo-forms about how to load forms into CHT -- [cht-core#6829](https://github.com/medic/cht-core/issues/6829): CI failing due to TooManyPullReuqests from docker +- [cht-core#6829](https://github.com/medic/cht-core/issues/6829): CI failing due to TooManyPullRequests from docker - [cht-core#6901](https://github.com/medic/cht-core/issues/6901): CI build failing due to couchdb:2 is not available on dockerhub - [cht-core#7000](https://github.com/medic/cht-core/issues/7000): Update CI build cleanup script - [cht-core#7025](https://github.com/medic/cht-core/issues/7025): PR Builds are failing for external contributors diff --git a/content/en/core/releases/3.8.0.md b/content/en/core/releases/3.8.0.md index ad6a01910..96c44eff6 100644 --- a/content/en/core/releases/3.8.0.md +++ b/content/en/core/releases/3.8.0.md @@ -25,7 +25,7 @@ These changes also result in new constraints for partner application task and ta * Reports "with errors" are now available in all task and target calculations (instead of just some calculations) and partner code is responsible for filtering them as necessary. * For partners maintaining their configuration in a `rules.nools.js` file, multiple contacts emitting tasks with conflicting `id` values is no longer supported. This will result in errant behavior in 3.8.0. * Target emissions with conflicting `id`s were previously merged based on the order in which the requesting contact was created inside CouchDB. It is now merged based on the order of the requesting contact's `reported_date` attribute. -* The specific meaning of task "resolution" has been augmented to accomodate the additional complexities of reporting a task's "state" in Postgres. Read [the documentation](https://docs.communityhealthtoolkit.org/apps/) for more information. +* The specific meaning of task "resolution" has been augmented to accommodate the additional complexities of reporting a task's "state" in Postgres. Read [the documentation](https://docs.communityhealthtoolkit.org/apps/) for more information. * A task's `content` is cached inside the task document. Any timestamps or calculation can be up to seven days old. This is a breaking change for configurations using the current time as part of their calculations. ### High sync times immediately after upgrade diff --git a/content/en/core/releases/3.8.1.md b/content/en/core/releases/3.8.1.md index 7d36f9bbf..1a3951eb1 100644 --- a/content/en/core/releases/3.8.1.md +++ b/content/en/core/releases/3.8.1.md @@ -27,7 +27,7 @@ There are no required changes to the [supported software matrix]({{% ref "core/r - [cht-core#6259](https://github.com/medic/cht-core/issues/6259): medic-conf `create-users` command fails when `generate_patient_id_on_people` transition is on - [cht-core#6267](https://github.com/medic/cht-core/issues/6267): Targets with date: 'now' show stale counts for first days of a reporting window -- [cht-core#6274](https://github.com/medic/cht-core/issues/6274): Specifiying contactLabel in tasks configuration breaks task list rendering +- [cht-core#6274](https://github.com/medic/cht-core/issues/6274): Specifying contactLabel in tasks configuration breaks task list rendering - [cht-core#6279](https://github.com/medic/cht-core/issues/6279): Rendering of cascading selects broken after 3.7.x - [cht-core#6288](https://github.com/medic/cht-core/issues/6288): Current language not being picked up by elements in repeat groups - [cht-core#6321](https://github.com/medic/cht-core/issues/6321): XForms which use "media::image" have a spinner below the image diff --git a/content/en/core/releases/3.9.0.md b/content/en/core/releases/3.9.0.md index e1565c725..2ddbc2348 100644 --- a/content/en/core/releases/3.9.0.md +++ b/content/en/core/releases/3.9.0.md @@ -128,7 +128,7 @@ Issues: [cht-core#6133](https://github.com/medic/cht-core/issues/6133) - [cht-core#6192](https://github.com/medic/cht-core/issues/6192): Broken link in Sentinel error message - [cht-core#6212](https://github.com/medic/cht-core/issues/6212): Console errors on upgrade page - [cht-core#6220](https://github.com/medic/cht-core/issues/6220): Number of tasks for person not shown on profile -- [cht-core#6223](https://github.com/medic/cht-core/issues/6223): Outbound Push calls code to delete broken tasks unneccessarily +- [cht-core#6223](https://github.com/medic/cht-core/issues/6223): Outbound Push calls code to delete broken tasks unnecessarily - [cht-core#6231](https://github.com/medic/cht-core/issues/6231): Misaligned "Title" column in SMS Forms page of the App Management console - [cht-core#6239](https://github.com/medic/cht-core/issues/6239): The number of Feedback docs is incorrect - [cht-core#6249](https://github.com/medic/cht-core/issues/6249): CouchDB admins can't login in the app diff --git a/content/en/design/best-practices/_index.md b/content/en/design/best-practices/_index.md index d4aab9041..b5ad62e4c 100644 --- a/content/en/design/best-practices/_index.md +++ b/content/en/design/best-practices/_index.md @@ -318,9 +318,9 @@ H4: normal body text - Bold text is indicated by ** or “bold” or `` - Italic text is indicated by * or “italic” or _ -- List item is indicated by either specifying li in the appearance column or formating the label text using html tag li +- List item is indicated by either specifying li in the appearance column or formatting the label text using html tag li - Numbers: needs to be hard coded -- H1, h2, h3 ..., em, i, ul, li, p, span html tags work as expected including use of the style attribute within the tages e.g `` +- H1, h2, h3 ..., em, i, ul, li, p, span html tags work as expected including use of the style attribute within the tags e.g `` - Explicit new line space translates to a new line (`\n` translates to a hard break) - You could potentially specify an inline list using standard html `
  1. Blah
(ordered list)` diff --git a/content/en/design/icons/people_and_places/PNGs/hierachies-CHW-female.png b/content/en/design/icons/people_and_places/PNGs/hierarchies-CHW-female.png similarity index 100% rename from content/en/design/icons/people_and_places/PNGs/hierachies-CHW-female.png rename to content/en/design/icons/people_and_places/PNGs/hierarchies-CHW-female.png diff --git a/content/en/design/personas/chw-janet.md b/content/en/design/personas/chw-janet.md index 9e01db5aa..eb7e23d72 100644 --- a/content/en/design/personas/chw-janet.md +++ b/content/en/design/personas/chw-janet.md @@ -41,7 +41,7 @@ Janet has a trusted boda driver who she uses to help her deliver drugs. - Accurate information about the health status of her patients - Close monitoring of the pregnant women to ensure that all deliveries take place at the health facilities - All children to be immunized according to the expanded immunization program -- Childrens growth to be monitored +- Children's growth to be monitored - Fast transfer of community members who need emergency health care to the health facilities- ambulance transfer ## Motivations diff --git a/content/en/glossary.md b/content/en/glossary.md index f2c0e7724..b906cc960 100644 --- a/content/en/glossary.md +++ b/content/en/glossary.md @@ -117,7 +117,7 @@ The parts of the software that users see and interact with. ###### Health Management Team (HMT) -###### Health System Challange (HSC) +###### Health System Challenge (HSC) ###### Health Systems Strengthening (HSS) diff --git a/content/en/hosting/3.x/app-developer.md b/content/en/hosting/3.x/app-developer.md index 9e7b344ca..df8531e7d 100644 --- a/content/en/hosting/3.x/app-developer.md +++ b/content/en/hosting/3.x/app-developer.md @@ -132,7 +132,7 @@ An up-to-date clone of [cht-core](https://github.com/medic/cht-core/) has everyt The helper script is run by calling `./cht-docker-compose.sh`. It accepts one required and one optional arguments: * `-e | --env-file` - path to the environment file. Required -* `-d | --docker_action` - docker action to run: `up`, `down` or `destory`. Optional, defaults to `up` +* `-d | --docker_action` - docker action to run: `up`, `down` or `destroy`. Optional, defaults to `up` #### Nomenclature @@ -296,8 +296,8 @@ For each internal loop of the script, each one taking 1-5 seconds, a status line | Name in log | Note | Example(s) | | --------------- | --------------- | --------------- | | `item` | which log item this is | `status` | -| `CHT_count` | number of CHT contianers running for this project. Healthy is `2` | `2` | -| `port_stat` | Status of the `https` port. Healhty is `open` | `open` or `closed` | +| `CHT_count` | number of CHT containers running for this project. Healthy is `2` | `2` | +| `port_stat` | Status of the `https` port. Healthy is `open` | `open` or `closed` | | `http_code` | If the `https` port is open by the web server, what `HTTP` response code is returned for a `GET`. Healthy is `200`. If you see `000`, [see workarounds](#booting-with-no-connectivity). | `200` or `404` | | `ssl_verify` | If the `https` port is open by the web server, is the valid `local-ip.medicmobile.org` certificate installed. Healthy is `yes` | `yes` or `no` | | `reboot_count` | How many times `docker restart` has been called. Max is `5` | `3` | diff --git a/content/en/hosting/3.x/ec2-setup-guide.md b/content/en/hosting/3.x/ec2-setup-guide.md index 937979fc6..8f756c462 100644 --- a/content/en/hosting/3.x/ec2-setup-guide.md +++ b/content/en/hosting/3.x/ec2-setup-guide.md @@ -59,7 +59,7 @@ This guide will walk you through the process of creating an EC2 instance, mounti 1. Review SSL certificates - Location of certs is `/srv/settings/medic-core/nginx/private/` - Name the key file is `default.key` and the certificate file is `default.crt` - - See [SSL Certficates]({{< relref "hosting/3.x/ssl-cert-install">}}) to install new certificates + - See [SSL Certificates]({{< relref "hosting/3.x/ssl-cert-install">}}) to install new certificates 1. Configure couch2pg See the [couch2pg basic configuration](https://github.com/medic/cht-couch2pg/blob/main/README.md) in the `cht-couch2pg` repository. diff --git a/content/en/hosting/3.x/ssl-cert-install.md b/content/en/hosting/3.x/ssl-cert-install.md index 6290a14c5..775778bb5 100644 --- a/content/en/hosting/3.x/ssl-cert-install.md +++ b/content/en/hosting/3.x/ssl-cert-install.md @@ -19,7 +19,7 @@ relatedContent: > ## Copy certs into medic-os container -On your server copy the `.crt` and `.key` files to the `medic-os` container. The existing self signed `.crt` and `.key` files will be overwitten: +On your server copy the `.crt` and `.key` files to the `medic-os` container. The existing self signed `.crt` and `.key` files will be overwritten: ```bash sudo docker cp /path/to/ssl.crt medic-os:/srv/settings/medic-core/nginx/private/default.crt diff --git a/content/en/hosting/4.x/app-developer.md b/content/en/hosting/4.x/app-developer.md index 9abc08ab6..2bd732b60 100644 --- a/content/en/hosting/4.x/app-developer.md +++ b/content/en/hosting/4.x/app-developer.md @@ -132,7 +132,7 @@ This script brings a lot of benefits with it: To get started using it: 1. Clone the [CHT Core](https://github.com/medic/cht-core/) repo -2. When you want to check for updates, just run `git pull orign` in the `cht-core` directory. +2. When you want to check for updates, just run `git pull origin` in the `cht-core` directory. If you want a more stand-alone version, you can `curl` the bash script directly, but you can't use `git` to easily update it then: diff --git a/content/en/hosting/4.x/backups.md b/content/en/hosting/4.x/backups.md index bfa395117..864b33980 100644 --- a/content/en/hosting/4.x/backups.md +++ b/content/en/hosting/4.x/backups.md @@ -19,7 +19,7 @@ As CHT 4.x uses a container per service, the only data that needs to be backed u * Docker Compose and `.env` files * TLS certificates -This is because Docker containers are inherently stateless so all the important binaries are already stored in [CHT's Docker images](https://gallery.ecr.aws/s5s3h4s7/). Docker Compose files, including the `.env` file, store all of your deployment's configuration. Finally, the TLS certificates should be backed up to reduce recovery time. +This is because Docker containers are inherently stateless so all the important binaries are already stored in [CHT's Docker images](https://gallery.ecr.aws/s5s3h4s7/). Docker Compose files, including the `.env` file, store all of your deployment's configuration. Finally, the TLS certificates should be backed up to reduce recovery time. How to backup each of these three pieces of data is covered below. @@ -61,7 +61,7 @@ You should have SSH access to the server with `root` access. ### Backup software -It's assumed you are using which ever tool you're familiar with which might include [rsync](https://rsync.samba.org/examples.html), [borg](https://borgbackup.readthedocs.io/en/stable/), [duplicity](https://duplicity.gitlab.io/) or other solution. The locations of the backups should follow the 3-2-1 rule: +It's assumed you are using which ever tool you're familiar with which might include [rsync](https://rsync.samba.org/examples.html), [borg](https://borgbackup.readthedocs.io/en/stable/), [duplicity](https://duplicity.gitlab.io/) or other solution. The locations of the backups should follow the 3-2-1 rule: > There should be at least 3 copies of the data, stored on 2 different types of storage media, and one copy should be kept offsite, in a remote location. _- [Wikipedia](https://en.wikipedia.org/wiki/Backup)_ diff --git a/content/en/hosting/4.x/self-hosting/self-hosting-k3s-multinode.md b/content/en/hosting/4.x/self-hosting/self-hosting-k3s-multinode.md index e6e1bb741..eb45dcdad 100644 --- a/content/en/hosting/4.x/self-hosting/self-hosting-k3s-multinode.md +++ b/content/en/hosting/4.x/self-hosting/self-hosting-k3s-multinode.md @@ -67,9 +67,9 @@ Following the [vSphere docs](https://docs.vmware.com/en/VMware-vSphere-Container Now, on the VM settings, we can apply these roles as described in the above document. -Any provisioned VM in the previous step, should recieve CNS-VM role. -The top-level vCenter server will recieve CNS-SEARCH-AND-SPBM role. -Virtual-SAN should recieve CNS-DATASTORE. +Any provisioned VM in the previous step, should receive CNS-VM role. +The top-level vCenter server will receive CNS-SEARCH-AND-SPBM role. +Virtual-SAN should receive CNS-DATASTORE. And all servers should have the READONLY role (this may already be active) @@ -173,7 +173,7 @@ govc ls //vm \ SSH into your first control-plane VM that was provisioned and configured above and [install docker](https://docs.docker.com/engine/install/ubuntu/). -For k3s version compatibiltiy with vCenter and vMware CPI/CSI, we will need to use k3s v1.25, cpi v1.25, and csi v2.7.2 per the `curl` call below. +For k3s version compatibility with vCenter and vMware CPI/CSI, we will need to use k3s v1.25, cpi v1.25, and csi v2.7.2 per the `curl` call below. Run the following CLI command inside the control-plane VM, filling out these two specific values: - ``: Please generate a token ID, and save it. This will be required for the entirety of the k3s cluster existence and required to add additional servers to the k3s cluster @@ -273,7 +273,7 @@ Modify the vsphere-cloud-controller-manager.yaml file downloaded above and updat data: # NOTE: this is just an example configuration, update with real values based on your environment vsphere.conf: | - # Global properties in this section will be used for all specified vCenters unless overriden in VirtualCenter section. + # Global properties in this section will be used for all specified vCenters unless overridden in VirtualCenter section. global: port: 443 # set insecureFlag to true if the vCenter uses a self-signed cert @@ -317,7 +317,7 @@ Follow the [VMware documentation for CSI](https://docs.vmware.com/en/VMware-vSph /usr/local/bin/k3s kubectl create namespace vmware-system-csi ``` -2) Taint your control-lane node servers by running the following command. This taint may already exist, if so, thats okay. Please replace `` with each of your control plane servers. +2) Taint your control-lane node servers by running the following command. This taint may already exist, if so, that's okay. Please replace `` with each of your control plane servers. ``` You can retrieve the names by running `/usr/local/bin/k3s kubectl get nodes -o wide` /usr/local/bin/k3s kubectl taint node node-role.kubernetes.io/control-plane=:NoSchedule @@ -415,7 +415,7 @@ status: {} Here are links to docs surrounding the kubernetes concepts that we use in a cht-core project deployed to a k3s cluster. * [Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) - This is the main kubernetes resource that contains information regarding all the cht services that will be deployed. -* [ConfigMaps](https://kubernetes.io/docs/concepts/configuration/configmap/) - This contains configuration files, or credentials that containers can retrieve. If you edit the configmap, you should delete containers, which will trigger a new container to download your new edits to any configrations for that service +* [ConfigMaps](https://kubernetes.io/docs/concepts/configuration/configmap/) - This contains configuration files, or credentials that containers can retrieve. If you edit the configmap, you should delete containers, which will trigger a new container to download your new edits to any configurations for that service * [ServiceAccounts](https://kubernetes.io/docs/concepts/security/service-accounts/) - This is used by the upgrade-service that is running inside the cht-core pods (as a container titled upgrade-service). This serviceAccount restricts the upgrade-service from interacting with any other cht-core projects outside of its namespace, and gives the upgrade-service permissions to talk to kubernetes API to upgrade container images when a CHT ADMIN clicks *upgrade* through the Admin interface. * [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) - This is what forwards traffic to a particular project or pods. In most use-cases, there is an nginx deployed outside of the k3s cluster than contains DNS entries for existing projects, and contains a proxy_pass parameter to send traffic based on host header to any of the k3s server IPs. Inside the k3s cluster, the traefik container and servicelb-traefik containers in kube-system namespace will handle forwarding traffic to the correct cht-core containers based on url * [Persistent Volume Claim](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) - This is where our project data will be stored. Important to ensure you have configured this correctly, with retain policies intact so the data is not deleted if the project is removed. It's also vital to ensure you have a backup policy either set-up in VMware vCenter GUI or you have configured the csi-snapshotter that comes with vSphere CSI. diff --git a/content/en/hosting/_index.md b/content/en/hosting/_index.md index c6930655a..6d0c4dfa2 100644 --- a/content/en/hosting/_index.md +++ b/content/en/hosting/_index.md @@ -11,5 +11,5 @@ description: > To get an overview on how these hosting solutions use `docker` and `docker-compose`, as well as other key CHT concepts, be sure to read the [guide on a Local Setup]({{< relref "apps/tutorials/local-setup" >}}). {{% /pageinfo %}} -Before beggining any of these guides, be sure to meet all of the [CHT hosting requirements]({{< relref "hosting/requirements" >}}) first. +Before beginning any of these guides, be sure to meet all of the [CHT hosting requirements]({{< relref "hosting/requirements" >}}) first. diff --git a/content/en/hosting/monitoring/integration.md b/content/en/hosting/monitoring/integration.md index c4f943ce8..7970f1b46 100644 --- a/content/en/hosting/monitoring/integration.md +++ b/content/en/hosting/monitoring/integration.md @@ -39,7 +39,7 @@ mon_api --> json ### Additional Flows -Your Prometheus instance from CHT Watchog can ingest data from any [supported data source](https://prometheus.io/docs/instrumenting/exporters/) accessible via an HTTPS request. These data sources might be hosted on the same server as CHT Core or on a completely different server. +Your Prometheus instance from CHT Watchdog can ingest data from any [supported data source](https://prometheus.io/docs/instrumenting/exporters/) accessible via an HTTPS request. These data sources might be hosted on the same server as CHT Core or on a completely different server. The focus of this guide is to collect metrics on Docker container usage and performance from the server hosting our CHT Core instance using [cAdvisor](https://prometheus.io/docs/guides/cadvisor/). @@ -72,7 +72,7 @@ While this is a specific example for cAdvisor, these same steps will be taken to 2. CHT Core: [Start the Caddy and a cAdvisor containers along with the CHT Core]({{< relref "#start-cadvisor-caddy-and-cht-core-with-docker" >}}) 3. CHT Watchdog: [Adding new scrape and compose configs]({{< relref "#scrape-config" >}}) 4. CHT Watchdog: [Restart the Prometheus and Grafana server to include the new scrape config mounts]({{< relref "#load-new-compose-files-with-existing-ones" >}}) -5. CHT Watchdog: [Importing an exising cAdvisor dashboard from `grafana.com`]({{< relref "#on-cht-watchdog-import-grafana-dashboard" >}}) +5. CHT Watchdog: [Importing an existing cAdvisor dashboard from `grafana.com`]({{< relref "#on-cht-watchdog-import-grafana-dashboard" >}}) After completing these steps, we now have Docker metrics we can alert on: @@ -154,7 +154,7 @@ docker stop $(docker ps --quiet) docker compose up --detach ``` -Note that the CHT Upgrade Service will process all Docker Compose file in the `/home/ubuntu/cht/compose` directory for us and we don't need to explicity specify them in the `docker compose up` command. +Note that the CHT Upgrade Service will process all Docker Compose file in the `/home/ubuntu/cht/compose` directory for us and we don't need to explicitly specify them in the `docker compose up` command. ### On CHT Watchdog diff --git a/content/en/hosting/monitoring/setup.md b/content/en/hosting/monitoring/setup.md index 0fd896c44..63250f4ed 100644 --- a/content/en/hosting/monitoring/setup.md +++ b/content/en/hosting/monitoring/setup.md @@ -145,7 +145,7 @@ Always run this longer version of the `docker compose` command which specifies b #### couch2pg Data (Remote) -While not the default setup, and not what most deployments need, you may want to set up a way to monitor couch2pg data without sharing any Postgres credentials. Instead of sharing credentials, you expose an HTTP endpoint that requires no login or password. Of course, similar to CHT Core's [Monitoring API]({{< relref "apps/reference/api#get-apiv2monitoring" >}}), this endpoint should be configured to not share sensitive information (since it will be publically accessible). +While not the default setup, and not what most deployments need, you may want to set up a way to monitor couch2pg data without sharing any Postgres credentials. Instead of sharing credentials, you expose an HTTP endpoint that requires no login or password. Of course, similar to CHT Core's [Monitoring API]({{< relref "apps/reference/api#get-apiv2monitoring" >}}), this endpoint should be configured to not share sensitive information (since it will be publicly accessible). To run a remote instance of only the SQL Exporter on your Postgres server: @@ -222,7 +222,7 @@ Grafana supports sending alerts via a number of different methods. Two likely op ###### Email -To support sending email alerts from Grafana, you must update the `smtp` section of your `grafana/grafana.ini` file with your SMTP server configuration. Then, in the web interface, add the desired recipient email addresses in the `grafana-default-email` contact point settings. +To support sending email alerts from Grafana, you must update the `smtp` section of your `grafana/grafana.ini` file with your SMTP server configuration. Then, in the web interface, add the desired recipient email addresses in the `grafana-default-email` contact point settings. ###### Slack diff --git a/content/en/running-programs/_index.md b/content/en/running-programs/_index.md index 1d5d18e95..bcf76ddbc 100644 --- a/content/en/running-programs/_index.md +++ b/content/en/running-programs/_index.md @@ -16,7 +16,7 @@ Community led implementations emphasize on the importance of collaboration, loca **Research initiatives, innovations and studies** -Through human centered design, research institutions and academia design, test, refine and deploy open source digital health innovations which are based on the CHT or other mature open source technologies. These innovations ultimately contribute knowlegde through publications. These implementations incubate and test concepts or interventions before large scale implementation. They run for a limited time and often have pre-determined objectives. +Through human centered design, research institutions and academia design, test, refine and deploy open source digital health innovations which are based on the CHT or other mature open source technologies. These innovations ultimately contribute knowledge through publications. These implementations incubate and test concepts or interventions before large scale implementation. They run for a limited time and often have pre-determined objectives. ## Considerations for digital health implementations To run a successful digital health implementation, the following considerations are made: @@ -41,12 +41,12 @@ CHT implementations follow a process from beginning to end in order to deliver a Various people interact with CHT implementations at various stages. The list below may not be exhaustive but highlights bare minimum requirements for a successful implementation. In some cases, personas may have overlapping roles. - Project managers - They may also be referred to as program heads or program leads. They are involved in planning, coordinating and overseeing digital health projects. Although they oversee the entire implementation, they interact with the CHT implementation more closely during the implementation and evaluation stages. - Designers - They include service designers, user experience/user interface designers, product designers, graphic designers among others. Designers interact with CHT implementations during the design phase. They carry out field immersion visits to gather technical requirements from the prospective end users, program leads at MoH, policy makers among others. The technical requirements gathered inform the final application. Product and UI/UX designers are involved in the design and evaluation phases to explore opportunities for improvement and user experience optimization. -- Developers - they include app developers, core developers and software developers who are invloved in the building stage. App developers build custom applications based on the CHT core. These apps are composed of application and contact forms, application settings among other configurations. Core developers contribute to the [CHT Core framework]({{< ref "core" >}}) that powers the mobile apps. -- System administrators - they include database administators, security engineers, site reliability engineers, devOps engineers and network managers. They are responsible for configuration of computers, servers, databases, pipelines and infrastructure of CHT applications, monitoring health status of the infrastructure and application such as performance, server resources utilization, and uptime. They interact with CHT implementations at the planning, hosting and support stages. +- Developers - they include app developers, core developers and software developers who are involved in the building stage. App developers build custom applications based on the CHT core. These apps are composed of application and contact forms, application settings among other configurations. Core developers contribute to the [CHT Core framework]({{< ref "core" >}}) that powers the mobile apps. +- System administrators - they include database administrators, security engineers, site reliability engineers, devOps engineers and network managers. They are responsible for configuration of computers, servers, databases, pipelines and infrastructure of CHT applications, monitoring health status of the infrastructure and application such as performance, server resources utilization, and uptime. They interact with CHT implementations at the planning, hosting and support stages. - Technical support team - they include information communication and technology (ICT) officers and monitoring & evaluation officers. ICT officers are responsible for mobile device testing, application installation and technical assistance for issues experienced by end users post deployment. Monitoring & Evaluation officers are responsible for monitoring project indicators performance, impact evaluation, data analysis and reporting. They interact with CHT implementations at the design and support stages. -- Researchers - they include Data Scientists, UX researchers and research scientists. They integrate research aspects such as implememtation research into the project cycle to test hypothesis. They are involved through out the project cycle. +- Researchers - they include Data Scientists, UX researchers and research scientists. They integrate research aspects such as implementation research into the project cycle to test hypothesis. They are involved through out the project cycle. -Incase an implementing partner does not have the expertise listed above, the CHT has a robust network of technical partners who have built CHT applications and have a deep understanding of how CHT implementations work. +In case an implementing partner does not have the expertise listed above, the CHT has a robust network of technical partners who have built CHT applications and have a deep understanding of how CHT implementations work. ## Running successful community health implementations Digital health implementations do no exist in silos. To be successful, there are other critical enablers to be aware of and champion for; @@ -65,7 +65,7 @@ Community health workers deliver essential health services to the last mile to i For CHT implementations to be successful and sustainable, the following requirements are integral. - Privacy and protection of user and client data -- Routine monitoring and evalution to identify and resolve issues on time +- Routine monitoring and evaluation to identify and resolve issues on time - Data backups - Redundancy - Regular CHT upgrades to benefit from new features and performance improvements diff --git a/content/en/running-programs/training.md b/content/en/running-programs/training.md index d48e1d9f7..22ba1e025 100644 --- a/content/en/running-programs/training.md +++ b/content/en/running-programs/training.md @@ -19,7 +19,7 @@ Proper training of health care workers leads to increased job satisfaction ensur This guide highlights some of the considerations and steps for planning and conducting end user training. It is based on the learnings from many collaborative trainings that have been conducted over the years. Some of the training resources have been co-created with various implementing partners and ministries of health. This guide can help partners learn how they can plan and conduct training. The CHT training process comprises a series of steps highlighted below that need to be followed systematically to ensure an efficient training programme. -* Training needs assessment - this is the first step prior to conducting the training to help understand the users needs, bahaviour, roles and how they perform their responsibilities. At this stage, information on the literacy and numerical skills of end users, demographics (age, gender, language of instruction), potential program champions is collected, this information helps inform the training approach, duration and methods of training. To collect the needs assessment information, various methods can be used including observation, interviews,focused group discussions and surveys. +* Training needs assessment - this is the first step prior to conducting the training to help understand the users needs, behaviour, roles and how they perform their responsibilities. At this stage, information on the literacy and numerical skills of end users, demographics (age, gender, language of instruction), potential program champions is collected, this information helps inform the training approach, duration and methods of training. To collect the needs assessment information, various methods can be used including observation, interviews,focused group discussions and surveys. * Define the training objectives - In this step, the training outcomes are defined, these are things end users should be able to do as a result of the training. * Develop a training plan or checklist - The checklist lists the tasks, activities and resources needed to train the end users * Create the training materials and resources diff --git a/layouts/shortcodes/format-number.html b/layouts/shortcodes/format-number.html index 0e14c23fe..14c68bb27 100644 --- a/layouts/shortcodes/format-number.html +++ b/layouts/shortcodes/format-number.html @@ -1,2 +1,2 @@ -{{/* Replace _ with unicode character Thin Space (U+2009) for international number formating */}} +{{/* Replace _ with unicode character Thin Space (U+2009) for international number formatting */}} {{ with .Get 0 }}{{ replace . "_" " " }}{{ end }} \ No newline at end of file diff --git a/publish_to_ghpages.sh b/publish_to_ghpages.sh index 9b29e8344..5478b1487 100644 --- a/publish_to_ghpages.sh +++ b/publish_to_ghpages.sh @@ -15,7 +15,7 @@ set -e # 1. `sudo npm install -D --save autoprefixer` # 2. `sudo npm install -D --save postcss-cli` -# 2. Follow [the Hugo intructions](https://gohugo.io/hosting-and-deployment/hosting-on-github/#build-and-deployment) for publishing a project to GitHub pages using the `gh-pages` branch +# 2. Follow [the Hugo instructions](https://gohugo.io/hosting-and-deployment/hosting-on-github/#build-and-deployment) for publishing a project to GitHub pages using the `gh-pages` branch # 1. `rm -rf public` # 2. `git worktree add -B gh-pages public upstream/gh-pages` # 3. `hugo` diff --git a/troubleshooting.md b/troubleshooting.md index 0859aa463..214de2397 100644 --- a/troubleshooting.md +++ b/troubleshooting.md @@ -21,7 +21,7 @@ You can see the list of Hugo releases [here](https://github.com/gohugoio/hugo/re There's currently an [issue running versions later than `0.123` or later](https://github.com/medic/cht-docs/issues/1302). You should run `0.122` to avoid the error until this issue is fixed. Follow these steps to install the older `0.122` version. While they mention `snap` which is specific to Linux, the install steps should work for macOS and Windows with WSL 2 as well: -1. Remove the too new verison of `hugo`. If you used `snap`, you can uninstall with: `sudo snap remove hugo` +1. Remove the too new version of `hugo`. If you used `snap`, you can uninstall with: `sudo snap remove hugo` 2. Download the specific `hugo` tarball: `wget https://github.com/gohugoio/hugo/releases/download/v0.122.0/hugo_extended_0.122.0_linux-amd64.tar.gz` 3. Uncompressed it: `tar xvzf hugo_extended_0.122.0_linux-amd64.tar.gz` 4. Move the binary into your `$PATH`: `sudo mv hugo /usr/local/bin` @@ -41,7 +41,7 @@ sudo sysctl -w kern.maxfiles=100000 sudo sysctl -w kern.maxfilesperproc=65535 ``` -To ensure these calls are made every time before runing `hugo server`, consider using this script. Be sure to update the `HUGO_DIRECTORY` to match your install: +To ensure these calls are made every time before running `hugo server`, consider using this script. Be sure to update the `HUGO_DIRECTORY` to match your install: ```shell #!/bin/bash @@ -53,7 +53,7 @@ sudo sysctl -w kern.maxfilesperproc=65535 hugo server ``` -Save this in file with the `.commmand` suffix (e.g. `cht-docs-server.command`) to enable an easy double clicking to start the server. +Save this in file with the `.command` suffix (e.g. `cht-docs-server.command`) to enable an easy double clicking to start the server. Note - be sure to enter your MacOS user password in the terminal when prompted.