-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Shinren Pan edited this page Jun 12, 2026
·
1 revision
- Docker Desktop installed and running
- Git
That's it. No Swift, no PostgreSQL, no additional tools required.
git clone https://github.com/shinrenpan/Siming.git
cd Siming
bash scripts/setup.shThe setup script will:
- Check Docker is installed and running
- Download FHIR packages (one-time, ~50 MB)
- Create
.envfrom.env.example - Build the Docker image and start the full stack
- Wait until the server is ready
When complete:
Siming is running at http://localhost:8080
CapabilityStatement: http://localhost:8080/metadata
Metrics: http://localhost:8080/metrics
curl http://localhost:8080/health
# → OK
curl http://localhost:8080/metadata | python3 -m json.tool | grep '"status"'
# → "status": "active"Open the FHIR Browser: http://localhost:8080/ui
# Stop
docker compose down
# Start again (no rebuild)
docker compose up -d
# View logs
docker compose logs -f app
# Rebuild after git pull
docker compose up --build -dFaster builds and no VM overhead. Requires Swift 6.2+ and Docker (for Postgres only).
bash scripts/fetch-packages.sh # one-time
bash scripts/run-macOS.sh # starts Postgres in Docker, server nativelyOptionally run the HL7 FHIR Validator sidecar for deep StructureDefinition validation:
- Uncomment the
validatorblock indocker-compose.yml - Add
VALIDATOR_URL=http://validator:4567to your.env - Restart:
docker compose up -d
# Test
curl -X POST "http://localhost:8080/Patient/\$validate?profile=https://twcore.mohw.gov.tw/ig/twcore/StructureDefinition/Patient-twcore" \
-H "Content-Type: application/fhir+json" \
-d '{"resourceType":"Patient","identifier":[{"value":"A123"}],"gender":"male","birthDate":"1990-01-01"}'- Configuration — change port, base URL, pool size
- FHIR Browser — create and manage resources via web UI
- API Examples — curl examples for all major operations