ips-nodo-dominio/diagramaContenedores.puml

40 lines
1.7 KiB
Plaintext

@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
LAYOUT_WITH_LEGEND()
title 'Diagrama de Contenedores para la Conectatón Argentina'
System_Ext(historiaClinica, 'Histora Clinica', 'Registtra la historia clinica y genera resumenes de historia clinica (IPS)')
System_Boundary(nodo, 'Nodo'){
Container(nginx, 'nginx', 'Nginx', 'Direcciona las llamadas a los contenedores correspondientes')
Container(hapiFHIR, 'hapi-fhir', 'Java', 'Servidor HAPI FHIR. Brinda soporte para el almacenamiento de documentos IPS')
Container(busGateway, 'bus-gateway', 'NodeJS/Express', 'Orquesta la comunicación con los servicios del Ministerio de Salud de la nación')
ContainerDb(hapiDB, 'hapi-db', 'Postgres', 'Almacena datos del servidor HAPI FHIR')
}
System_Boundary(pins, 'Plataforma de Interoperabilidad Nacional en Salud'){
Container(federador, 'Federador', 'Java/SpringBoot', 'Brinda la funcionalidad para la federación, busqueda y obtención de pacientes')
Container(indiceDocumentos, 'Indice de Documentos', 'Java/SpringBoot', 'Servicio de registro, busqueda y obtencion de referencias a documentos de salud')
}
Rel(historiaClinica, nginx, 'Provee documento IPS')
Rel(historiaClinica, nginx, 'Consulta el indice de documentos')
Rel(historiaClinica, nginx, 'Obtiene documentos IPS')
Rel(historiaClinica, nginx, 'Federa pacientes')
Rel(nginx, busGateway, 'Publica recursos IPSTransaction, DocumentReference, Patient')
Rel(nginx, hapiFHIR, 'Publica recurso Bundle')
Rel(hapiFHIR, hapiDB, 'Persiste datos')
Rel(busGateway, federador, 'Federa, busca y recupera pacientes')
Rel(busGateway, indiceDocumentos, 'Registra, busca y repuera referencias a documentos')
@enduml