> For the complete documentation index, see [llms.txt](https://docs.healthuniverse.com/overview/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.healthuniverse.com/overview/building-apps-in-health-universe/developing-your-health-universe-app/working-in-fastapi/navigator-fastapi-best-practices.md).

# Navigator FastAPI best practices

Navigator is an AI-driven workflow automation tool that uses clinical, workflow and organizational context to anticipate tools and resources that can speed up administrative and clinical tasks. Once an app is identified and selected by the user, Navigator uses that context to autofill relevant fields.

Use the [**FastAPI template**](https://github.com/Health-Universe/fastapi-template-demo) for a standardized, easy-to-implement structure to create apps that integrate smoothly with Navigator. They are designed to help you define clear, context-aware inputs and outputs, and to enhance autofill precision.

#### **Describe your app accurately**

Navigator uses the app’s title, description, and keywords to identify highly relevant matches. Make sure to include:

* What the app is intended to do
* Expected inputs and outputs
* Best use cases within a clinical or administrative workflow
* Tasks that typically occur before and after your app is used

#### **Be as explicit with the input parameters as possible**

Use dropdown lists whenever possible.

* For example:
  * A dropdown with "Yes" or "No" is preferable to a free-text input where users type "yes" or "no."
  * For structured data like cancer staging, use dropdowns such as "Stage I, II, III, IV" or break down staging into components (e.g., stage, metastases presence).

#### **Separate different concepts into separate input parameters**

Each parameter should:

* Have a clear, descriptive label
* Represent a single type of data

For example, instead of a single field for "medications, problems, and allergies," create three separate fields. This improves autofill accuracy and clarity for users.

#### Minimum Quality Bars for Deploying an Application to Navigator

Before publishing your app to the Navigator environment, ensure it meets the following quality standards:

* **Timely Responses:** Your app should return a result within **15 seconds** to keep the workflow efficient. If it takes longer than this, then you may get a time out or navigator error.
* **Concise Output:** Keep the response brief. If the output is verbose, use an LLM to **summarize** it before returning.
* **Concurrency Support:** Your app must handle **multiple user requests simultaneously** — use techniques like unique IDs for ephemeral data or asynchronous operations.
* **Well-defined Metadata:** Clearly define all fields, functions, titles, descriptions, and metadata. This ensures Navigator’s LLM can accurately surface and suggest your app in the appropriate workflow contexts.

#### **Help improve Navigator**

Navigator is still learning. If you notice unexpected behavior with input parameters or autofill suggestions, please report them so we can continue to improve the experience.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.healthuniverse.com/overview/building-apps-in-health-universe/developing-your-health-universe-app/working-in-fastapi/navigator-fastapi-best-practices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
