Frequently Asked Questions
Welcome to Open Healthcare Network! This FAQ section addresses common questions and provides solutions to help you get started smoothly.
Project Overview
What are the main components of the Open Healthcare Network?
The Open Healthcare Network consists of two core repositories:
What plugins are available?
Plugin | Backend | Frontend |
---|---|---|
ABDM (Ayushman Bharat Digital Mission) | care_abdm | care_abdm_fe |
HCX (Health Claims Exchange) | care_hcx | care_hcx_fe |
Scribe (Voice Assistant) | care_scribe | care_scribe_fe |
TeleICU Devices (Remote ICU Monitoring Integration) | care_teleicu_devices | care_teleicu_devices_fe |
LiveKit (Real-time Communication) | care_livekit | care_livekit_fe |
Ayushma (AI Assistant) | ayushma | ayushma_fe |
Backend Setup
How do I load initial data for development?
You can load development and test fixtures in two ways:
- Using make:
make load-fixtures
- Using Docker directly:
docker compose exec backend bash -c "python manage.py load_fixtures"
How do I load location-specific government organization data?
To load data for a specific state (e.g., Kerala), use:
docker compose exec backend bash -c "python manage.py load_govt_organization --state kerala --load-districts --load-local-bodies --load-wards"
How do I create a superuser account?
To create a superuser for accessing the Django admin interface:
docker compose exec backend bash -c "python manage.py createsuperuser"
Follow the prompts to enter username, email, and password.
How do I fix permission and role issues?
If you encounter access or permission issues, run:
python manage.py sync_permissions_roles
This ensures that user roles are correctly mapped to permissions.
What should I do if the backend container is unhealthy?
- Check the logs for error messages:
docker logs <container_name>
# Example:
docker logs care-backend-1
- Open the Django shell for debugging:
docker exec -it <container_name> python manage.py shell
# Example:
docker exec -it care-backend-1 python manage.py shell
- Rebuild and restart the services:
make teardown
make up
Frontend Setup
What Node.js version is required?
The frontend projects require Node.js 22. Use nvm
to install and switch versions:
nvm install 22
nvm use 22
To verify the active Node version:
node -v
Note: Always sync with the latest develop branch before starting frontend work.
How do I resolve dependency installation issues?
If you see peer dependency warnings or install failures:
- Try installing with legacy peer deps:
npm install --legacy-peer-deps
- If issues persist:
npm cache clean --force
rm -rf node_modules
npm install
How do I fix API connection issues?
- Ensure the backend server is running
- Check your
.env
file in the frontend project:
REACT_CARE_API_URL=http://127.0.0.1:9000
How do I fix build errors?
If you encounter TypeScript errors or linting issues:
npm run lint-fix
What should I do if Cypress tests are failing?
Cypress test failures are often specific to individual PRs and may not indicate a broader issue with your local setup. If you encounter failing Cypress tests:
-
Check if tests pass locally:
npm run cypress:run
-
Run tests in interactive mode for debugging:
npm run cypress:open
-
If tests fail consistently, discuss the issue in the Slack community - the community can help identify if it's a known issue or specific to your PR.
Note: Many Cypress failures are flaky tests that pass on retry. If tests fail in CI but pass locally, it's often a timing or environment issue rather than a code problem.
Plugin Setup
How do I set up a plugin?
Most plugins follow this pattern in plug_config.py
:
plugin_name = Plug(
name="plugin_name",
package_name="git+https://github.com/ohcnetwork/plugin_repo.git",
version="@master", # or specific version
configs={}, # plugin-specific settings
)
plugs = [plugin_name]
How do I develop plugins locally?
- Update
plug_config.py
:
plugin_name = Plug(
name="plugin_name",
package_name="/app/plugin_folder",
version="",
configs={},
)
- In
plugs/manager.py
, install in editable mode:
subprocess.check_call(
[sys.executable, "-m", "pip", "install", "-e", *packages]
)
- Rebuild and restart the containers:
make re-build
make up
What should I do if a plugin isn't loading?
For backend plugins:
- Ensure the plugin name matches the Django app name
- Verify the path or repository URL is correct
- Check that all required environment variables are configured
For frontend plugins:
- Verify you're using the correct Node.js version
- In
care_fe/.env
, ensure the plugin is added toREACT_ENABLED_APPS
:
REACT_ENABLED_APPS="ohcnetwork/plugin_name_fe@localhost:5173"
- Make sure the plugin dev server is running on the expected port
Learning Resources
What learning resources are available?
-
Docker and Container Technology
-
OHC School Courses
- Care Systems 101 - Overview of Care platform fundamentals
- Django For All - Learn Django for backend development
- React For All - Learn React for frontend development