diff --git a/apigee/medicamentos-prescripciones.json b/apigee/medicamentos-prescripciones.json new file mode 100644 index 0000000..aa655f6 --- /dev/null +++ b/apigee/medicamentos-prescripciones.json @@ -0,0 +1,839 @@ +{ + "openapi": "3.0.0", + "servers": [{ + "description": "Calidad", + "url": "https://colsubsidio-test.apigee.net/api" + }, + { + "description": "Producción", + "url": "https://colsubsidio-prod.apigee.net/api" + } + ], + "info": { + "description": "Información de los servicios del producto Prescripciones Medicamentos.", + "version": "1.0.0", + "title": "Prescripciones Medicamentos", + "termsOfService": "http://172.16.95.36/wiki/index.php/T%C3%A9rminos_de_servicio_Swagger", + "contact": { + "email": "operacionesti@colsubsidio.com" + }, + "license": { + "name": "Colsubsidio", + "url": "http://172.16.95.36/wiki/index.php/T%C3%A9rminos_de_servicio_Swagger" + } + }, + "tags": [{ + "name": "cols-medicamentos-formulas", + "description": "Administración de fórmulas médicas" + }], + "paths": { + "/v1/medicamentos/formulas/recepcion": { + "post": { + "tags": [ + "cols-medicamentos-formulas" + ], + "summary": "Recepción prescripciones", + "description": "Recepción de fórmulas médicas emitida por una EPS asociada", + "operationId": "recepcionFormulas", + "responses": { + "200": { + "description": "Operación exitosa", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/recepcionFormulasResponse" + } + } + } + }, + "400": { + "description": "Estado inválido" + } + }, + "security": [{ + "apigee_auth": [ + "write:apigee", + "read:apigee" + ] + }], + "requestBody": { + "$ref": "#/components/requestBodies/recepcionFormulasRequestBody" + } + } + } + }, + "externalDocs": { + "description": "Encontrar más información en EnterpriseArchitect", + "url": "http://172.16.95.36/wiki/index.php/Enterprise_Architect" + }, + "components": { + "schemas": { + "aseguradora": { + "type": "object", + "required": [ + "nit", + "convenio", + "sistemaOrigen", + "dispensador", + "plan" + ], + "properties": { + "nit": { + "type": "string", + "description": "Nit aseguradora que emite la fórmula" + }, + "nombre": { + "type": "string", + "description": "Descripción Aseguradora" + }, + "convenio": { + "$ref": "#/components/schemas/convenio" + }, + "sistemaOrigen": { + "type": "string", + "description": "Nombre del sistema de Origen" + }, + "dispensador": { + "type": "string", + "description": "NIT del dispensador" + }, + "plan": { + "$ref": "#/components/schemas/plan" + }, + "sede": { + "$ref": "#/components/schemas/sede" + } + } + }, + "causa": { + "type": "object", + "required": [ + "codigo" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Código causal del servicio" + }, + "nombre": { + "type": "string", + "description": "Descripción causal del servicio" + } + } + }, + "categoria": { + "type": "object", + "required": [ + "codigo", "sigla" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Código de la clasificación de ingresos del usuario" + }, + "sigla": { + "type": "string", + "description": "Sigla de la clasificación de ingresos del usuario" + }, + "nombre": { + "type": "string", + "description": "Nombre de la clasificación de ingresos del usuario" + } + } + }, + "ciudad": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Código de la ciudad" + }, + "nombre": { + "type": "string", + "description": "Descripción de la ciudad" + } + } + }, + + "clasificacion": { + "type": "object", + "required": [ + "codigo" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Codigo del Tipo de usuario" + }, + "nombre": { + "type": "string", + "description": "Descripción del tipo de usuario" + } + } + }, + "cobro": { + "type": "object", + "required": [ + "tipo", "valor" + ], + "properties": { + "tipo": { + "type": "string", + "description": "Tipo de cobro" + }, + "nombre": { + "type": "string", + "description": "Descripcion del tipo de cobro" + }, + "valor": { + "type": "number", + "description": "Valor del cobro" + } + } + }, + "convenio": { + "type": "object", + "required": [ + "codigo" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Código del convenio" + }, + "nombre": { + "type": "string", + "description": "Descripcion convenio" + } + } + }, + "departamento": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Código del departamento" + }, + "nombre": { + "type": "string", + "description": "Descripción del departamento" + } + } + }, + "diagnostico": { + "type": "object", + "required": [ + "codigo" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Código del diagnóstico" + }, + "descripcion": { + "type": "string", + "description": "Descripción del diagnóstico" + } + } + }, + "direccion": { + "type": "object", + "required": [ + "departamento", + "ciudad" + ], + "properties": { + "departamento": { + "$ref": "#/components/schemas/departamento" + }, + "ciudad": { + "$ref": "#/components/schemas/ciudad" + } + } + }, + "direccionDispensacion": { + "type": "object", + "required": [ + "departamento", "municipio", + "ciudad" + ], + "properties": { + "departamento": { + "$ref": "#/components/schemas/departamento" + }, + "municipio": { + "$ref": "#/components/schemas/municipio" + }, + "ciudad": { + "$ref": "#/components/schemas/ciudad" + } + } + }, + "dispensacion": { + "type": "object", + "properties": { + "alistamientoSucursal": { + "type": "string", + "description": "Se indica si el usuario solicita recoger los medicamentos en alguna sucursal del dispensador" + }, + "sucursal": { + "type": "string", + "description": "Sucursal donde el usuario solicita recoger los medicamentos" + }, + "domicilio": { + "type": "string", + "description": "Se indica si el usuario solicita domicilio de los medicamentos" + }, + "direccion": { + "$ref": "#/components/schemas/direccionDispensacion" + }, + "telefono": { + "type": "string", + "description": "Número de telefóno de contacto para el domicilio" + }, + "celular": { + "type": "string", + "description": "Número de celular de contacto para el domicilio" + }, + "correoElectronico": { + "type": "string", + "description": "Correo electrónico de contacto para el domicilio" + }, + "fechaEntrega": { + "type": "string", + "description": "Fecha de entrega deseada para el domicilio en formato ISO 8601", + "format": "date-time" + }, + "franjaHoraria": { + "type": "string", + "description": "Franja horaria deseada para el domicilio" + }, + "encargadoRecepcion": { + "type": "string", + "description": "Persona encargada de recibir el domicilio" + } + } + }, + "documento": { + "type": "object", + "required": [ + "tipo", + "numero" + ], + "properties": { + "tipo": { + "type": "string", + "description": "Tipo de identificación " + }, + "numero": { + "type": "string", + "description": "Número identificación" + } + } + }, + "duracion": { + "type": "object", + "properties": { + "cantidad": { + "type": "number", + "description": "Número duración" + }, + "unidad": { + "$ref": "#/components/schemas/unidad" + } + } + }, + "dosis": { + "type": "object", + "properties": { + "cantidad": { + "type": "number", + "description": "Cantidad de la dosis" + }, + "unidad": { + "$ref": "#/components/schemas/unidad" + }, + "periodo": { + "$ref": "#/components/schemas/periodo" + }, + "duracion": { + "$ref": "#/components/schemas/duracion" + }, + "indicacionesEspeciales": { + "type": "string", + "description": "Descripción de las indicaciones especiales", + "enum": [ + "1 - Administración en dosis única", + "2 - Administración inmediata", + "3 - Administrar en Bolo", + "4 - Administrar en Goteo", + "5 - Infusión continua", + "6 - Infusión intermitente", + "7 - Infusión intermitente simultánea con perfusión de otra solución", + "8 - Microgoteo", + "9 - Perfusión", + "10 - Sin indicación especial" + ] + } + } + }, + "formula": { + "type": "object", + "required": [ + "numero", "canal", "fechaServicio", "fechaVencimiento", "status", "categoria", "cobro", "diagnostico", "servicio", "prestador", "tratamiento" + ], + "properties": { + "numero": { + "type": "string", + "description": "Número de la fórmula" + }, + "mipres": { + "type": "string", + "description": "Número MIPRES" + }, + "preautorizacion": { + "type": "string", + "description": "Número de preautorización de la fórmula" + }, + "autorizacion": { + "type": "string", + "description": "Número de autorización de la fórmula" + }, + "numeroSistemaOrigen": { + "type": "string", + "description": "Número de la fórmula en el sistema origen" + }, + "canal": { + "type": "string", + "description": "Canal de la formulación : Insitucional o comercial" + }, + "fechaServicio": { + "type": "string", + "description": "Fecha del servicio o fecha emisión en formato ISO 8601", + "format": "date-time" + }, + "fechaVencimiento": { + "type": "string", + "description": "Fecha de vencimiento de la fórmula en formato ISO 8601", + "format": "date-time" + }, + "status": { + "type": "string", + "description": "Estado de la formula " + }, + "categoria": { + "$ref": "#/components/schemas/categoria" + }, + "cobro": { + "$ref": "#/components/schemas/cobro" + }, + "actividad": { + "type": "string", + "description": "Actividad" + }, + "diagnostico": { + "$ref": "#/components/schemas/diagnostico" + }, + "servicio": { + "$ref": "#/components/schemas/servicio" + }, + "ips": { + "$ref": "#/components/schemas/ipsEmisor" + }, + "prestador": { + "$ref": "#/components/schemas/prestador" + }, + "tratamiento": { + "type": "array", + "xml": { + "name": "resultado" + }, + "items": { + "$ref": "#/components/schemas/tratamiento" + } + }, + "dispensacion": { + "$ref": "#/components/schemas/dispensacion" + } + } + }, + "ips": { + "type": "object", + "required": [ + "direccion" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Codigo de la IPS asignada al usuario" + }, + "nombre": { + "type": "string", + "description": "Nombre de la IPS asignada al usuario" + }, + "direcccion": { + "$ref": "#/components/schemas/direccion" + } + } + }, + "ipsEmisor": { + "type": "object", + "required": [ + "" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Codigo de la IPS que emite la fórmula" + }, + "nombre": { + "type": "string", + "description": "Nombre de la IPS que emite la fórmula" + } + } + }, + "municipio": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Código del municipio" + }, + "nombre": { + "type": "string", + "description": "Descripción del municipio " + } + } + }, + "nombre": { + "type": "object", + "required": [ + "primero", + "primerApellido" + ], + "properties": { + "primero": { + "type": "string", + "description": "Primer nombre del usuario" + }, + "segundo": { + "type": "string", + "description": "Segundo nombre del usuario" + }, + "primerApellido": { + "type": "string", + "description": "Primer apellido del usuario" + }, + "segundoApellido": { + "type": "string", + "description": "Segundo apellido del usuario" + } + } + }, + "nombrePrestador": { + "type": "object", + "properties": { + "primero": { + "type": "string", + "description": "Primer nombre del médico que prescribe" + }, + "segundo": { + "type": "string", + "description": "Segundo nombre del médico que prescribe" + }, + "primerApellido": { + "type": "string", + "description": "Primer apellido del médico que prescribe" + }, + "segundoApellido": { + "type": "string", + "description": "Segundo apellido del médico que prescribe" + }, + "razonsocial": { + "type": "string", + "description": "Razón social de la entidad que transcibe la fórmula" + } + } + }, + "paciente": { + "type": "object", + "required": [ + "documento", "nombre", "fechaNacimiento", "genero", "ips", "clasificacion" + ], + "properties": { + "documento": { + "$ref": "#/components/schemas/documento" + }, + "nombre": { + "$ref": "#/components/schemas/nombre" + }, + "fechaNacimiento": { + "type": "string", + "description": "Fecha de nacimiento del usuario en formato ISO 8601 2019-02-20T00:00:00-0500", + "format": "date-time" + }, + "genero": { + "type": "string", + "description": "Género del usuario" + }, + "ips": { + "$ref": "#/components/schemas/ips" + }, + "telefono": { + "type": "string", + "description": "Número de teléfono del usuario" + }, + "direccionPrincipal": { + "type": "string", + "description": "Dirección principal del usuario" + }, + "correoElectronico": { + "type": "string", + "description": "Correo electrónico del usuario" + }, + "clasificacion": { + "$ref": "#/components/schemas/clasificacion" + } + } + }, + "periodo": { + "type": "object", + "properties": { + + "cantidad": { + "type": "number", + "description": "Número de periodos" + }, + "unidad": { + "$ref": "#/components/schemas/unidad" + } + } + }, + "plan": { + "type": "object", + "required": [ + "codigo" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Código plan " + }, + "nombre": { + "type": "string", + "description": "Descripcion plan" + } + } + }, + "prestador": { + "type": "object", + "required": [ + "documento", "nombre" + ], + "properties": { + "documento": { + "$ref": "#/components/schemas/documento" + }, + "nombre": { + "$ref": "#/components/schemas/nombrePrestador" + } + } + }, + "producto": { + "type": "object", + "required": [ + "mapis", "descripcion", "concentracion", "cantidadEntregar" + ], + "properties": { + "mapis": { + "type": "string", + "description": "Código del medicamento formulado" + }, + "descripcion": { + "type": "string", + "description": "Descripción del medicamento" + }, + "cum": { + "type": "string", + "description": "Código único de medicamentos" + }, + "codigoTecnologia": { + "type": "string", + "description": "Código de tecnología formulado" + }, + "concentracion": { + "type": "string", + "description": "Concentracion del medicamento formulado" + }, + "cantidadDeEntregas": { + "type": "number", + "description": "Número de veces que se debe entregar el medicamento" + } + } + }, + "recepcionFormulasResponse": { + "type": "object", + "required": [ + "resultado" + ], + "properties": { + "resultado": { + "type": "array", + "xml": { + "name": "resultado" + }, + "items": { + "$ref": "#/components/schemas/resultado" + } + } + } + }, + "recepcionFormulasRequest": { + "type": "object", + "required": [ + "aseguradora", + "paciente", + "formula" + ], + "properties": { + "aseguradora": { + "$ref": "#/components/schemas/aseguradora" + }, + "paciente": { + "$ref": "#/components/schemas/paciente" + }, + "formula": { + "$ref": "#/components/schemas/formula" + } + } + }, + "resultado": { + "type": "object", + "properties": { + "codigo": { + "type": "string", + "description": "Código del resultado" + }, + "descripcion": { + "type": "string", + "description": "Descripción del resultado" + } + }, + "xml": { + "name": "resultado" + } + }, + "sede": { + "type": "object", + "required": [ + "codigo" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Código del punto de la sucursal donde se emite la fórmula" + }, + "nombre": { + "type": "string", + "description": "Nombre del punto de la sucursal donde se emite la fórmula" + } + } + }, + "servicio": { + "type": "object", + "required": [ + "causa" + ], + "properties": { + "codigo": { + "type": "string", + "description": "Código de servicio" + }, + "nombre": { + "type": "string", + "description": "Descripción del servicio" + }, + "causa": { + "$ref": "#/components/schemas/causa" + } + } + }, + "tratamiento": { + "type": "object", + "required": [ + "producto", "cantidad" + ], + "properties": { + "producto": { + "$ref": "#/components/schemas/producto" + }, + "cantidad": { + "type": "number", + "description": "Cantidad del medicamento" + }, + "dosis": { + "$ref": "#/components/schemas/dosis" + } + } + }, + "unidad": { + "type": "object", + "properties": { + "codigo": { + "type": "string", + "description": "Código unidad", + "enum": [ + "1 Minuto(s)", + "2 Hora(s)", + "3 Día(s)", + "4 Semana(s)", + "5 Mes(es)", + "6 Año", + "7 Según respuesta al tratamiento" + ] + }, + "nombre": { + "type": "string", + "description": "Descipción de la unidad" + } + } + } + }, + "requestBodies": { + "recepcionFormulasRequestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/recepcionFormulasRequest" + } + } + }, + "description": "Información de la fórmula médica", + "required": true + } + }, + "securitySchemes": { + "apigee_auth": { + "type": "oauth2", + "flows": { + "clientCredentials": { + "tokenUrl": "https://colsubsidio-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials", + "scopes": { + "write:apigee": "Permisos de escritura", + "read:apigee": "Permisos de lectura" + } + } + } + } + } + } +} \ No newline at end of file