events {} http { upstream hapi_fhir { server hapi-fhir:8080; } upstream bus_gateway { server bus-gateway:3000; } server { listen 80; server_name _; # Rutas del bus-gateway (prefijo más específico gana sobre /fhir/) # ITI-65: Provide Document Bundle — transaction Bundle location /fhir/IPSTransaction { proxy_pass http://bus_gateway; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # ITI-65: Provide Document Bundle — IPS document Bundle location /fhir/IPSDocument { proxy_pass http://bus_gateway; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # ITI-65: Provide Document Bundle — MeOW (Medication Overview) transaction Bundle location /fhir/MeOWTransaction { proxy_pass http://bus_gateway; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # ITI-65: Provide Document Bundle — MeOW (Medication Overview) document Bundle location /fhir/MeOWDocument { proxy_pass http://bus_gateway; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # ITI-65: Provide Document Bundle — IT (Consultation Note) transaction Bundle location /fhir/ITTransaction { proxy_pass http://bus_gateway; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # ITI-65: Provide Document Bundle — IT (Consultation Note) document Bundle location /fhir/ITDocument { proxy_pass http://bus_gateway; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # ITI-67: Find Document References location /fhir/DocumentReference { proxy_pass http://bus_gateway; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # ITI-78: Mobile Patient Demographics Query # ITI-104: Patient Identity Feed FHIR location /fhir/Patient { proxy_pass http://bus_gateway; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # Transformaciones de bundle (nodo nacional, via bus-gateway/bundleSigner): # /fhir/Bundle/:id/$ddcc, $dvc, $icvp2, $meow location ~ ^/fhir/Bundle/[^/]+/\$(ddcc|dvc|icvp|icvp2|meow)$ { proxy_pass http://bus_gateway; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # Resto de /fhir/* va a hapi-fhir location /fhir/ { proxy_pass http://hapi_fhir; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } # Todo lo demás va a hapi-fhir location / { proxy_pass http://hapi_fhir; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90s; } } }