Configure Mosquito Service Requests

Learn how to configure the Mosquito Service Requests solution to meet specific needs in your organization.

Configure the Mosquito Control site

The Mosquito Service Requests solution includes an Mosquito Control ArcGIS Hub site that your organization can configure with your own branding and use to share important mosquito control information and abatement activities with the public.

Update with organizational information

After you deploy the Mosquito Service Requests solution, the Mosquito Control site layout only requires a few updates to fit your organization's context. Follow the steps below to update the site with your organization's needs:

  1. Sign in to your ArcGIS organization and browse to the Mosquito Control site.
  2. Open the item page and click Configure App.
  3. Click the edit button Edit to open the site editor.
  4. Scroll to the statistics section under the website title. The Requests Completed card is already linked to the Mosquito Service Requests solution’s MosquitoObservations feature layer. These stats automatically update as service requests are completed.

    The Vector-borne Disease Cases statistic is provided in a text card but styled to resemble the summary statistics card; this allows you the option to manually enter a statistic of your choice, independent of the solution data. Update the Vector-borne Disease Cases statistic card using a metric of your choice, or replace the text card with a summary statistics card and configure it to another feature layer in this solution or a related solution (see below).

    To replace the text card with a summary statistics card, click Layout in the side panel. Drag a Summary Statistics card from the side panel onto the row and position the card to the right of the Surveillance Sites card. Once the card is configured, hover over the existing Vector-borne Disease Cases card and click the delete button Delete.

  5. Scroll to the Report a Problem section, hover over the card, and click the edit pencil Edit, and then update your call center and contact information, hours, and phone number.
    Note:

    The Submit a Request button is already configured to open the Mosquito Service Request app.

  6. Scroll to the Frequently Asked Questions section, hover over the card and click the edit pencil, and update the questions and answers.
  7. Scroll to the Mosquito Open Data section, hover over the open data card, click the edit pencil, and update the various category links using tags, categories, or groups that reference your ArcGIS Open Data in the side panel.
  8. To modify your site’s footer, click Customize Toggle Customize toggle on the side panel.
  9. Click Footer.

    A custom footer is already provided, and in most cases, it needs to be updated with your organization's branding, contact information, and social media references.

  10. Click the HTML text box.

    The HTML window appears.

  11. Make the necessary changes and click Apply.
  12. Click Save.

Share items with the public

Several layer views, maps and apps included in the Mosquito Service Requests solution must be shared with everyone so they can be accessed by the public on the Mosquito Control site. To share your mosquito service request items with everyone, use the guide below and complete the following steps:

  1. Verify that you are signed in to your ArcGIS organization and browse to the Mosquito Service Request folder.
  2. Check the check box next to each of the items below:

    ItemName

    Feature Layer (hosted, view)

    MosquitoObservations_public

    Web Map

    Mosquito Service Requests

    Web Mapping Application

    Mosquito Service Requests

    Site Application

    Mosquito Control

  3. Click Share.
  4. In the Share window, click Everyone (public) and click Save.

    The Warning: Sharing editable layers publicly message appears notifying you that you are sharing editable layers publicly.

  5. Click Update.

Deploy related solutions

This site references content from the Mosquito Surveillance, Mosquito Treatments, and Adopt-A-Catch Basin solutions. To deploy these solutions, follow the steps in the Deploy an ArcGIS Solutions section.

Update solution references

This site has references to solutions deployed in the previous section. To update your site, complete the following steps:

  1. Verify that you are signed in to your ArcGIS organization and browse to the Mosquito Control site.
  2. Open the item page and click Configure App.
  3. Click the edit button Edit to open the site editor.
  4. Scroll to the Surveillance Sites section under the website title, hover over the card, and click the edit pencil Edit.
  5. In the side panel, click Find an Item and search for the MosquitoSurveillance_public feature layer.
  6. In the search results, click the circle in the upper left corner next to MosquitoSurveillance_public.
  7. In the side panel, click the Surveillance Sites (Point) layer. This feature layer was deployed in the previous step (part of the Mosquito Surveillance solution).
  8. Click Select.
  9. In the side panel, do the following:
    1. For Statistic Field, click Location.
    2. Leave Statistic Type as Count.
    3. Expand the Filter by Attributes section, click the drop-down arrow, and choose Status as the attribute.
    4. Click Add.
    5. Click the Status drop-down arrow and choose Active.
  10. Scroll to the Surveillance section, hover over the Surveillance Results card, and click the edit pencil.
  11. Click the Learn More button and click Edit.
  12. Enter the Mosquito Population Surveillance Charts app URL in the Link Destination text box and click Add Link.
    Tip:

    Browse to the Mosquito Population Surveillance Charts app. Open the item page, click View Application, and copy the app URL.

  13. Under Health Concerns, hover over the card and click the edit pencil.
  14. Click the Learn More button and click Edit.
  15. Enter the Mosquito Health Concerns Summary app URL in the Link Destination text box and click Add Link.
    Tip:

    Browse to the Mosquito Health Concerns Summary app. Open the item page, click View Application, and copy the app URL.

  16. Scroll to the Treatments section, and under Treatment Areas, hover over the card and click the edit pencil.
  17. Click the Learn More button and click Edit.
  18. Enter the Mosquito Spray Areas app URL in the Link Destination text box and click Add Link.
    Tip:

    Browse to the Mosquito Spray Areas app. Open the item page, click View Application, and copy the app URL.

  19. Under Exclusion Requests, hover over the card and click the edit pencil.
  20. Click the Learn More button and click Edit.
  21. Enter the Mosquito Spray Exclusion app URL in the Link Destination text box and click Add Link.
    Tip:

    Browse to the Mosquito Spray Exclusion app. Open the item page, click View Application, and copy the app URL.

  22. Scroll to the How you can help section.

    The Take the Pledge text is provided as a placeholder for your organization to add your own Survey123 form or organization resource. Update the Pledge Now button URL or remove this section if not applicable. To update the button, hover over the card and click the edit pencil. Click the Pledge Now button and click Edit. Enter the Survey123 form or organization resource URL in the Link Destination text box and click Add Link. Or remove the Pledge Now button by clicking the edit pencil, selecting the button text, and pressing the Backspace key.

  23. Under Adopt-A-Catch Basin, hover over the Adopt a Catch Basin card and click the edit pencil.
  24. Click the Learn More button and click Edit.
  25. Enter the Adopt-A-Catch Basin app URL in the Link Destination text box and click Add Link.
    Tip:

    Browse to the Adopt-A-Catch Basin app. Open the item page, click View Application, and copy the app URL.

  26. Click Save.

Share items with the public

Several layer views, maps and apps included in the Mosquito Surveillance, Mosquito Treatments, and Adopt-A-Catch Basin solution must be shared with everyone so they can be accessed by the public on the Mosquito Control site. To share your items with everyone, use the guide below and complete the following steps:

  1. Verify that you are signed in to your ArcGIS organization and browse to the Mosquito Surveillance folder.
  2. Check the check box next to each of the items below:

    ItemName

    Feature Layer (hosted, view)

    MosquitoSurveillance_public

    Feature Layer (hosted, view)

    MosquitoHealthConcerns_public

    Web Map

    Mosquito Population Surveillance Charts

    Web Map

    Mosquito Health Concerns Summary

    Web Mapping Application

    Mosquito Population Surveillance Charts

    Web Mapping Application

    Mosquito Health Concerns Summary

  3. Click Share.
  4. In the Share window, click Everyone (public) and click Save.

    The Warning: Sharing editable layers publicly message appears notifying you that you are sharing editable layers publicly.

  5. Click Update.
  6. Browse to the Mosquito Treatments folder.
  7. Check the check box next to each of the items below:

    ItemName

    Feature Layer (hosted, view)

    MosquitoTreatments_public

    Feature Layer (hosted, view)

    SprayExclusions_survey

    Web Map

    Mosquito Spray Areas

    Form

    Mosquito Spray Exclusions

    Web Mapping Application

    Mosquito Spray Areas

  8. Click Share.
  9. In the Share window, click Everyone (public) and click Save.

    The Warning: Sharing editable layers publicly message appears notifying you that you are sharing editable layers publicly.

  10. Click Update.
  11. Browse to the Adopt-A-Catch Basin folder.
  12. Check the check box next to each of the items below:

    ItemName

    Feature Layer (hosted, view)

    CatchBasins_public

    Web Map

    Adopt-A-Catch Basin

    Web Mapping Application

    Adopt-A-Catch Basin

  13. Click Share.
  14. In the Share window, click Everyone (public) and click Save.

    The Warning: Sharing editable layers publicly message appears notifying you that you are sharing editable layers publicly.

  15. Click Update.

Share Mosquito Service Requests maps and app

For the Mosquito Service Requests app to be publicly accessible through guest and social media access, the maps and layers must be shared with everyone. Follow the steps below to share your maps and layers with everyone.

  1. Click Groups at the top of the site.
  2. Open the Mosquito Service Requests group page and click View all group content.
    Note:

    Review the maps shared to the group. The maps shared to this group will be displayed in the Mosquito Service Requests app.

  3. Optionally, add a map or maps to the group by clicking the Add items to group and browse to the map or maps. Check the check box next to the map or maps you want to add to the group and click Add items.
  4. Optionally, remove a map or maps from the group by checking the check box next to the map and click Remove from group.
  5. Click the Settings tab.
  6. Under Who can view this group, click Everyone (public), and click Save.
  7. Click Content at the top of the site.
  8. On the My Content tab, under Folders, type Mosquito Service Requests in the search box.
  9. Click the Mosquito Service Requests folder.
  10. Under Item Type, click Maps.
  11. On the right side of the page, check the check box next to the maps you want to appear in the Mosquito Service Requests app, and click Share.
  12. In the Share window, click Everyone (public) and click Save.
  13. In the Update sharing window, click OK.
    Note:

    The layers associated with the maps should also be shared publicly.

  14. Next to Item Type, click Clear.
  15. Under Item Type, click Apps.
  16. On the right side of the page, click the Mosquito Service Request app.
  17. On the item page and click Share.
  18. In the Share window, click Everyone (public) and click Save.
  19. Click View Application.
  20. Sign in to the app using one of the sign in options and review the app.

Execute Mosquito Service Requests tools

You can extend the Mosquito Service Requests solution with a set of Python tools that can be used to generate report IDs, moderate reports, send email notifications, and enrich reports. These tools can be executed automatically via Task Scheduler, and as new problem reports are submitted, or updated, the corresponding action will occur.

Add the ServiceFunctions toolbox

The ServiceFunctions toolbox contains tools for generating report IDs, moderating reports, sending email notifications, and enriching reports. Download and add the ServiceFunctions toolbox to your ArcGIS Pro project before configuring the appropriate tools.

  1. Download the ServiceFunctions toolbox.
  2. Browse to the ServiceSupport.zip file and unzip the file to the location from which you want to the tools to execute.
  3. Open ArcGIS Pro and create a new project.
  4. Sign in to the ArcGIS organization to which you deployed the Mosquito Service Requests solution, if necessary.
  5. On the View tab, in the Windows group, click the Catalog pane, if necessary.
  6. In the Catalog pane, right-click Toolboxes and choose Add Toolbox.

    The Add Toolbox dialog box appears.

  7. Browse to the ServiceSupport folder.
  8. Click the ServiceSupport.pyt Python toolbox, and click OK.
  9. In the Catalog pane, expand Toolboxes and ServiceSupport.pyt.

    If you've never used the ServiceSupport toolbox before, run the Define Connection Settings tool to establish a connection between the toolbox and the MosquitoObservations feature layer.

  10. In the Catalog pane, in the ServiceSupport.pyt Python toolbox, double-click the Define Connection Settings tool.
  11. In the ArcGIS Online organization or ArcGIS Enterprise portal URL parameter, click the drop-down arrow and choose a URL.
  12. In the Username parameter, type your user name for the organization you chose in step 11.
  13. In the Password parameter, type your password for the user name provided in the Username.
  14. Click Run.

Generate report IDs

Many workflows require you to generate a unique identifier when a feature or record is created so it can be referenced and tracked in other workflows. You can use the Generate IDs tool to configure custom unique identifiers that will be applied to features at a regularly scheduled interval of your choosing. The tool only generates the configuration; you must run an additional script (provided) to update the features with incrementing identifier values.

Note:

You may need to add a new field to the MosquitoObervations feature layer to store the unique identifier created in this workflow.

  1. In the Catalog pane, expand Toolboxes and ServiceSupport.pyt, if necessary.
  2. Double-click the Generate IDs tool.
  3. In the Layer parameter, click Browse.

    The Layer dialog box appears.

  4. Under Portal, click My Content.
  5. Double-click the Mosquito Service Requests folder.
  6. Double-click the MosquitoObservations feature layer.
  7. Click Mosquito Observations and click OK.

    Expand General Identifier Settings. If the tool has not been run previously, start by specifying at least one identifier sequence.

  8. In the Sequence Name parameter, type a name for the sequence.

    This value appears in the drop-down menu for selecting the sequence to assign to each layer.

  9. In the Pattern parameter, type a pattern to use for the sequence.

    This can be a combination of letters, numbers, and symbols. Mark the location for the incrementing value with a pair of curly braces {}. Python formatting is applied to the pattern text, so string formatting syntax such as {0:03d} pads the incrementing number section with zeros to a length of 3. For example, the expression seq-{0:05d} creates the following pattern of values: seq-00001, seq-00002, seq-00003, and so on.

  10. In the Next Value parameter, type a value.

    When initially creating the sequence, this must be the first value in the identifiers. After this point, this value shows the value to be used for the next identifier generated.

  11. In the Interval parameter, type a value.

    The interval by which the identifier values increase between features. For example, an initial Next Value of 1 and an Interval of 10 creates identifiers with the incrementing values of 1, 11, 21, and so on.

    Deleting or changing these sequences impacts all the layers that are configured to use the edited sequences.

  12. Optionally, edit the identifier configuration and run the tool to overwrite the existing identifier configuration for the selected layer.
    Note:

    If an identifier configuration already exists, a check box appears that, when checked, deletes the existing identifier configuration for the selected layer.

  13. Choose the moderation list to use to process the features in the selected layer.
  14. Choose the sequence to use to generate the identifiers for each feature in the layer.
  15. Choose a text field to store the generated identifier.
  16. Click Run to write out the identifier configuration for the layer and any changes to the identifier sequences.
  17. To configure identifiers for another layer, rerun the tool with the settings for the next layer.
  18. General Identifier Settings are not specific to any one layer—they apply to all layers configured using this tool.

Moderate reports

Public comment apps can occasionally generate feedback that should not be made publicly visible. Data entered into specific fields, such as personal information, can be hidden and protected using the pop-up configuration and layer security, but sometimes entire comments need to be hidden to avoid displaying sensitive or explicit content to other users.

You can hide features by updating the value of a field so that it no longer meets the requirements of a filter applied to that layer in the map. You can use the Moderate Reports tool to configure which layers and fields to scan for explicit or sensitive words and phrases and how to update the feature so that it can be filtered from the map. You can choose how often to scan features and records. The tool only generates the configuration; an additional script (provided) must be run to scan the features.

  1. In the Catalog pane, expand Toolboxes and ServiceSupport.pyt.
  2. Double-click the Moderate Reports tool.
  3. In the Layer parameter, click Browse.

    The Layer dialog box appears.

  4. Under Portal, click My Content.
  5. Double-click the Mosquito Service Requests folder.
  6. Double-click the MosquitoObservations feature layer.
  7. Click Mosquito Observations and click OK.

    Expand General Moderation Settings. If the tool has not been run previously, start by specifying at least one moderation list.

  8. In the List Name parameter, type a name.

    This value appears in the drop-down menu for selecting the moderation list use when scanning each layer.

  9. In the Filter Type parameter, click the drop-down arrow and choose to scan feature for words and phrases that exactly match the provided list of words and phrases.

    For example, when the filter type is EXACT, if the list contains the word duck, the script updates the specified field when the feature contains the word duck, but not when it contains the word duckling. When the filter type is FUZZY, the script updates the feature when either duck or duckling are found.

  10. In the Words and Phrases parameter, type a word or phrase. Provide a comma-separated list of words or phrases to scan for.

    Keep in mind that deleting or changing these lists will impacts all the layers that are configured to use the edited sequences.

  11. If a moderation configuration already exists for the selected layer, choose to edit an existing configuration by selecting the name of the moderation list used in the configuration, or choose the option to add a new moderation configuration.

    If you choose to edit an existing configuration, a check box appears that, when checked, deletes the existing moderation configuration for the selected layer. Alternatively, edit the moderation configuration and run the tool to overwrite the existing moderation configuration for the selected layer and moderation list.

    To add a new moderation configuration, click the Add New button and continue with the following steps.

  12. Choose the moderation list to use to process the features in the selected layer.
  13. Choose the fields that will be scanned for content that matches the words and phrases in the selected moderation list.
  14. Optionally, provide an SQL query to only apply moderation to some features.

    If no query is provided, all features are processed.

  15. Use the Field to Update parameter when a match is found between the value of a field and the content of a moderation list. Use the Found Value parameter to specify the value that should be written to this field indicating a match.
  16. Click Run.

Send email notifications

Many workflows require that an email be sent when a feature or record is created and updated. You can use the Send Emails tool to configure emails that can be sent based on attribute values and a schedule of your choosing. The tool only generates the configuration; you must run an additional script (provided) to actually generate and send the emails.

  1. In the Catalog pane, expand Toolboxes and ServiceSupport.pyt.
  2. Double-click the Send Emails tool.
  3. In the Layer parameter, click Browse.

    The Layer dialog box appears.

  4. Under Portal, click My Content.
  5. Double-click the Mosquito Service Requests folder.
  6. Double-click the MosquitoObservations feature layer.
  7. Click Mosquito Observations and click OK.

    All existing email settings for the layer load and can be edited by updating the parameter values for each configuration. To delete a single email configuration, click the Remove button remove next to the configuration. To delete all the email configurations for the layer, check the Delete all existing email configurations for this layer check box. Run the tool to save your changes.

  8. In the Email Template parameter, click Browse to access the ServiceSupport folder.
  9. Click one of the HTML templates for the body of the email, and click OK.

    To add attributes from the triggering feature to the email, use unique string keys in the places where the values should appear in the HTML and reference these strings in the Find parameter of the Email Substitutions section of the General Email Settings along with the name of the field that contains the value to be substituted for the string key in the Replace parameter.

  10. Click one of the HTML templates for the body of the email, and click OK.

    To add attributes from the triggering feature to the email, use unique string keys in the places where the values should appear in the HTML and reference these strings in the Find parameter of the Email Substitutions section of the General Email Settings along with the name of the field that contains the value to be substituted for the string key in the Replace parameter.

  11. In the Recipient Email Address parameter, type an email address of the recipient or the name of a field in the layer that contains the address of the recipient.
  12. In the Email Subject parameter, type the subject for the email.

    Similar to the email body provided in the HTML document, this text can contain string keys that will be swapped out for attribute values based on the Find and Replace values defined in the Email Substitutions list in the General Email Settings section.

  13. In the Field to Update parameter, type Email. When the email has been sent for each feature, use the Sent Value parameter to specify the value that should be written to this field indicating that the email has been sent.

    This field and value can be used in the previously described SQL query to prevent duplicate emails from being sent.

  14. Configure additional emails to be sent for the currently selected layer by clicking the Add New button.

    Emails will be sent in the order they are configured. Expand General Email Settings. If the tool has not been run previously, start by specifying the connection information for your SMTP server in the tool.

  15. In the SMTP Server parameter, type the URL of the SMTP server used for sending emails.
  16. In the SMTP Username parameter, type the user name required to authenticate to the SMTP server. This is not required if authenticating through a port.
  17. In the SMTP Password parameter, type the password required to authenticate to the SMTP server. This is not required if authenticating through a port.
  18. In the From Address parameter, type the address from which the emails should be sent.
  19. In the Reply Address parameter, type the address that should be used for any replies to the email message.
  20. Check or uncheck the Use TLS check box to turn on or off TLS.
  21. In the Email Substitutions section, type Find and Replace values. Swap out one piece of text for another in the outgoing email subject or body.

    Anywhere a value in the Find parameter is found in the email subject or body, it will be replaced with the corresponding value from the Replace parameter. If the value in the Replace parameter is a field in the layer, the Find value will be replaced with the value in that field in the triggering feature. For example, to add the ID of a feature from the REQUESTID field to the email subject, include a piece of text such as {ID} in the configured Email Subject, and add {ID} to the Find parameter and REQUESTID to the Replace parameter. All specified substitutions are applied to all emails configured for all layers so, while the Find values can be any piece of text, it's suggested that you use something that is clearly variable-like and unlikely to appear elsewhere in the messages in a literal form.

    Deleting or changing these settings impacts all the emails for all the layers configured with this tool.

  22. Click Run.

Enrich reports

Reports made in public comment apps can be enriched with information about the report location. You can then use this information to efficiently direct the report to the correct person or agency responsible for its resolution.

You can then use the Enrich Reports tool to configure which attribute values to calculate from a coincident or intersecting set of features at a regularly scheduled interval of your choosing. Note that the tool only generates the configuration; you must run an additional script (provided) to update the features based on intersecting features.

  1. In the Catalog pane, expand Toolboxes and ServiceSupport.pyt.
  2. Double-click the Enrich Reports tool.
  3. In the Layer parameter, click the browse button.

    The Layer dialog box appears.

  4. Under Portal, click My Content.
  5. Double-click the Mosquito Service Requests folder.
  6. Double-click the MosquitoObservations feature layer.
  7. Click Mosquito Observations and click OK.
  8. In the Enrichment parameter, if an enrichment configuration already exists for the selected layer, choose to either edit an existing configuration by selecting the configuration from the drop-down list, or choose the option to add a new enrichment configuration.

    If you choose to edit an existing configuration, a check box appears that, when checked, deletes the existing enrichment configuration for the selected layer. Alternatively, edit the configuration and run the tool to save the changes. To add a new enrichment configuration, click the Add New button and continue with the following steps.

  9. Choose the polygon feature layer that will provide the enriching attribute values by either choosing a layer from the active map or by browsing to your hosted content and choosing a polygon feature layer.
  10. In the Source Field parameter, click the drop-down arrow and choose a field from the enrichment layer.
  11. In the Target Field parameter, click the drop-down arrow and choose a field from the MosquitoObservations feature layer.

    The script does not process features that already have a value in the target field.

  12. In the Priority parameter, type a value. Specify the priority that should be given to this enrichment configuration relative to the other configurations for the MosquitoObservations feature layer.

    Enrichment configurations for a layer that have a lower priority value will override enrichment configurations with a higher value. For example, a layer has two enrichment configurations that use the same target field, but one has a priority value of 1 and the other has a priority of 2. If the configuration with priority 1 does not produce a valid value for the field, the field is populated with the value produced from the configuration with priority 2.

  13. Click Run.

Set up Task Scheduler

Use Windows Task Scheduler to schedule the script to generate report IDs when a feature or record is created, moderate reports when feedback contains inappropriate language, send email notifications when a feature or record is created or updated, or enrich reports. All the tools in this toolbox share a common configuration file and execution script, so only one scheduled task is required to automate running all the associated processes.

  1. Open the Task Scheduler on the computer that is hosting the scripts.
  2. Click Action > Create Task and name your task.
  3. Click the Action tab and click New.
  4. Set Action to Start a Program.
  5. Browse to the location of your Python 3 installation (for example, <default directory>\C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe).
  6. In the Add arguments text box, type the name of the script (servicefunctions.py).
  7. In the Start in text box, type the path to the folder where your script is and click OK.
  8. Click the Trigger tab, click New, and set a schedule for your task.
  9. Click OK.

When the trigger occurs, the scripts begin scanning the configured layers and, for each one, processing (in order) configurations for generating identifiers, enriching reports, moderating reports, and sending emails.