El Servicio WS400 está destinado a realizar alta de eventos a pacientes en forma nominal. Funciona de forma casi análoga a la función de Alta de Evento Nominal del SISA.
En abril de 2021 se desarrolló una versión extendida del Servicio, la VERSIÓN 2.0.
Aquellos usuarios que fueron dados de alta con anterioridad a dicha fecha seguirán disponiendo de la VERSIÓN 1.0 sin inconvenientes. No obstante, aquellos que deseen migrar al nuevo formato, pueden solicitar credenciales, vía mail a interoperabilidadsnvs@gmail.com y soporte@sisa.msal.gov.ar.
El circuito para efectuar altas en el SNVS que permite completar el esquema de registro de información está compuesto por los siguientes servicios:
Codificación SISA | |
---|---|
Código JSON | Descripción |
Ciudadano | |
Apellido | Apellido del ciudadano.
Texto: hasta 100 caracteres. |
Nombre | Nombre del ciudadano.
Texto: hasta 100 caracteres. |
tipoDocumento | ID que identifica el tipo de documento.
Numérico. |
numeroDocumento | Número de documento del ciudadano.
Alfanumérico de hasta 15 caracteres. |
fechaNacimiento | Fecha de nacimiento.
Formato válido “DD-MM-AAAA”. |
Sexo | Sexo del ciudadano.
Valores aceptados: “F”, “M”, “A”, “X”. |
paisEmisionTipoDocumento | ID que identifica al país.
Numérico. |
seDeclaraPuebloIndigena | Indica si se declara pueblo indígena.
Valores aceptados: “No” & “Sí”. |
Domicilio | Campos obligatorios cuando sea necesario cargar datos del domicilio. |
calle | Calle y altura de residencia.
Alfanumérico de hasta 200 caracteres. |
idDepartamento | ID del departamento.
Numérico. |
idLocalidad | ID de la localidad.
Numérico. |
idPais | ID del país.
Numérico. |
idProvincia | ID de la provincia.
Numérico. |
personaACargo | Campos obligatorios cuando el ciudadano sea Menor de un año. |
tipoDocumento | ID que identifica el tipo de documento.
Numérico. |
numeroDocumento | Número de documento de la persona a cargo.
Alfanumérico de hasta 15 caracteres. |
vinculo | ID del vínculo entre ellos. |
eventoCasoNominal | |
fechaPapel | Fecha en la que el caso fue registrado por la institución física.
Formato válido: “DD-MM-AAAA”. |
idGrupoEvento | ID del grupo de evento.
Numérico. |
idEvento | ID del Evento.
Numérico. |
idClasificacionManualCaso | ID de la Clasificación manual.
Numérico. |
idEstablecimientoCarga | Código REFES del Establecimiento.
Numérico de 14 dígitos. |
Para ciertos parámetros de entrada, se deben utilizar Codificaciones auxiliares del SNVS.
Ver referencias más adelante.
EndPoint/URL: https://apisalud.msal.gob.ar/snvsCasoNominal/v2/snvsCasoNominal
Método: POST.
Autenticación: vía Encabezados (HEADERS), de la siguiente manera:
APP_ID: usuario_3SCALE
APP_KEY: clave_3SCALE
El Código viaja en Raw, como JSON.
EndPoint/URL: https://ws400-qa.sisa.msal.gov.ar/snvsCasoNominal/v2/snvsCasoNominal
Método: POST.
Autenticación: vía Encabezados (HEADERS), de la siguiente manera:
APP_ID: PruebasWSQA_SNVS_ID
APP_KEY: PruebasWSQA_SNVS_KEY
El Código viaja en Raw, como JSON.
{ "ciudadano": { "apellido": "APELLIDO", "nombre": "NOMBRE COMPLETO", "tipoDocumento": 1, "numeroDocumento": "34000000", "sexo": "F", "fechaNacimiento": "01-01-2000", "paisEmisionTipoDocumento": null, "seDeclaraPuebloIndigena": "No", "domicilio": { "calle": "Calle número 8000", "idDepartamento": 74014000, "idLocalidad": 69, "idProvincia": 1, "idPais": 200 }, "telefono": "011-4224-0099", "mail": "mail_mail@dominio.com", "personaACargo": { "tipoDocumento": null, "numeroDocumento": null, "vinculo": null } }, "eventoCasoNominal": { "idGrupoEvento": 999, "idEvento": 999, "idClasificacionManualCaso": 999, "fechaPapel": "01-01-2000", "idEstablecimientoCarga": "10064902100000" } }
EndPoint o URL: https://apisalud.msal.gob.ar/snvsCasoNominal/v2/snvsCasoNominal/codificacionAuxiliar/evento/grupo/clasificacionmanual
Método: GET.
Autenticación: vía Encabezados (HEADERS), de la siguiente manera:
Usuario: “usuario_3SCALE”
Clave: “clave_3SCALE”
EndPoint o URL: https://ws400-qa.sisa.msal.gov.ar/snvsCasoNominal/v2/snvsCasoNominal/codificacionAuxiliar/evento/grupo/clasificacionmanual
Método: GET.
Autenticación: vía Encabezados (HEADERS), de la siguiente manera:
Usuario: “PruebasWSQA_SNVS_ID”
Clave: “PruebasWSQA_SNVS_KEY”
{ "grupoEvento": "Accidente por Animal Ponzoñoso - Lepidópteros - Lonomía", "evento": "Araneísmo sin especificar especie", "idEvento": 295, "idGrupoEvento": 183, "idClasificacionManual": 73, "clasificacionManual": "Caso sospechoso" }
{ "status": Código alfabético tabulado del estado del llamado. Ej: “BAD_REQUEST”., "timestamp": "Fecha y hora exacta del llamado, sea exitoso o no.", "resultado": Código alfabético tabulado del resultado. Ej: “ERROR_DATOS", "id_caso": cuando la carga es exitosa, este campo muestra el ‘id_caso’ generado, "description": "Una descripción concatenada, en String, con la descripción de un eventual error al momento de hacer un llamado", "errors": { "Listado detallado de todos los campos que contienen error.” } }
{ "status": "OK", "timestamp": "17-06-2021 12:50:04", "resultado": "OK", "id_caso": 2106719 }
Cuando el alta se realizó correctamente; el “id_caso” es el número de identificación del caso, el cual debe ser usado posteriormente en la API75 Muestra Laboratorio - SNVS 2.0.
{ "status": "UNAUTHORIZED", "timestamp": "17-06-2021 12:51:22", "resultado": null, "id_caso": null, "description": "{ERROR_AUTENTICACION […] }", "errors": { "ERROR_AUTENTICACION": "El usuario 3Scale no se encuentra habilitado o bien la clave es incorrecta." } }
“Usuario” y/o “clave” incorrecta.
Al momento de confeccionar el request, siempre que un campo tenga que viajar vacío, debe completarse lisa y llanamente como null.
{ "errors": { "fechaApertura": "Ya existe en el sistema un caso cargado para ese evento y ciudadano. Incorpore su información ingresando al mismo. ID_SNVS_EVENTO_CASO: 2106723" } }
Existen casos en los cuales no se puede dar de alta un evento, porque el paciente ya tiene uno cargado (por unicidad temporal, por ejemplo; o porque se debe agregar información al evento previamente cargado, y no crear uno nuevo). Cuando es así, se muestra el ID_EVENTO_CASO en cuestión.
"errors": { "ciudadano.sexo": "Debe estar contenido en los valores M|F|A|X" }
El campo “sexo” fue completado con un valor NO válido.
"errors": { "ciudadano.apellido": "El apellido debe tener, como mínimo 2 caracteres, y 100 como máximo. ", "ciudadano.nombre": "El nombre debe tener, como mínimo 2 caracteres, y 100 como máximo. " }
Los campos “apellido” & “nombre” deben tener un mínimo de 2 caracteres y un máximo de 100.
"errors": { ".ciudadano.fechaNacimiento": "Debe utilizar un formato de fecha soportado por SISA (dd-MM-yyyy / yyyy-MM-dd)" }
El campo “fechaNacimiento” no se completó con el formato de fecha correcto. Esto aplica de igual forma para el campo “fechaPapel”.
"errors": { "ciudadano.numeroDocumento": "Debe ser un formato alfanumérico válido de hasta 15 digitos. " }
El campo “numeroDocumento” puede ser alfanumérico de hasta 15 caracteres. Ej: “M20555666”.
"errors": { "ciudadano.mail": "Debe informar un valor entre 5 y 100 caracteres. ", "ciudadano.telefono": "Valor válido: mínimo 7 caracteres; máximo 50 caracteres.", }
El campo “mail” debe tener un formato de mail válido (entre 5 y 10 caracteres y cumplir con la siguiente lógica: “mail_ejemplo@dominio.com”; el campo “telefono” es alfanumérico y debe tener un mínimo de 7 caracteres y un máximo de 50; admite guiones.
"errors": { "ciudadano.paisEmisionTipoDocumento": "Debe indicar un valor entre 0 y 999. " }
Los campos “paisEmisionTipoDocumento” debe ser un valor numérico válido. Las codificaciones auxiliares geográficas, se pueden consultar en el apartado de Reportes de SISA (REPORTES/ Codificaciones auxiliares/ Codificaciones compartidas/ ).
"errors": { "ciudadano.tipoDocumento": "Debe indicar un valor entre 0 y 9. " }
El parámetro “idTipoDoc” debe ser numérico, estar habilitado y estar comprendido dentro de la siguiente tabla de codificaciones auxiliares (aplica tanto para los datos del ciudadano principal, como para el responsable a cargo):
idTipoDoc | Nombre | Comentario |
1 | DNI | Documento Nacional de Identidad |
5 | DE | Documento extranjero o pasaporte |
9 | IND | Indocumentado |
"errors": { "ciudadano": "Ciudadano Indocumentado. Nro. de Documento no informado. El/Los siguientes atributos son obnligatorios: Persona a Cargo: persona.personaACargo.tipoDocumento, persona.personaACargo.numeroDocumento,persona.personaACargo.vinculo,.persona.domicilio.idProvincia, " }
Para dar de alta a un recién nacido (ciudadano menor de un año):
Vinculo | Descripción |
1 | Padre |
2 | Madre |
3 | Tutor o encargado |
4 | Hermano/a |
5 | Otro familiar |
6 | Otro parentesco |
7 | Hijo/a |
8 | Abuelo/a |
9 | Hermano/a |
10 | Tío/a |
11 | Primo/a |
12 | Nieto/a |
13 | Conyuge |
14 | Conviviente |
15 | Padre biológico |
16 | Madre biológica |
"errors": { "eventoCasoNominal.idEvento": "idEvento invalido o inhabilitado", "eventoCasoNominal": "El parámetro IdClasificacionManualCaso que se quiere dar de alta no está habilitado o no corresponde al Evento ingresado.", "eventoCasoNominal.idGrupoEvento": "idGrupoEvento invalido o inhabilitado" }
Los campos “idGrupoEvento”, “idEvento” & “idClasificacionManualCaso” deben ser numéricos, estar habilitados y tener una relación/dependencia entre sí.
"errors": { "eventoCasoNominal.idEstablecimientoCarga": "Debe ser un código REFES válido existente en la tabla ORIGEN; numérico de 14 dígitos." }
El campo “idEstablecimientoCarga” debe ser numérico, y existir en la tabla ORIGEN.
Este número corresponde al CÓDIGO REFES del establecimiento; el mismo se puede obtener consultando en el SISA , en la sección “Agenda Sanitaria REFES REFEPS” (ubicada en el carrusel móvil del sitio).
"errors": { "fechaPapel": "La fecha de recoleccion en papel no puede ser mayor que la fecha del día", }
El campo “fechaPapel” debe seguir una lógica: no puede ser mayor que la fecha del día - FECHA_APERTURA.
{ "status": "BAD_REQUEST", "timestamp": "17-06-2021 03:28:30", "resultado": "ERROR_DATOS", "id_caso": null, "description": "el departamento no corresponde a la provincia, la localidad no corresponde al departamento,", "errors": { "departamento": "EL DEPARTAMENTO NO CORRESPONDE A LA PROVINCIA", "localidad": "LA LOCALIDAD NO CORRESPONDE AL DEPARTAMENTO" } }
Para los campos con referencia geográfica, existe una dependencia entre sí. Las codificaciones auxiliares geográficas, se pueden consultar en el apartado de Reportes del SISA (REPORTES/ Codificaciones auxiliares/ Codificaciones compartidas/ ).
{ "status": "BAD_REQUEST", "timestamp": "17-06-2021 03:11:56", "resultado": "CIUDADANO_NO_ENCONTRADO", "id_caso": null, "description": {…} "errors": {} }
Para los casos donde haya inconsistencias con el ciudadano como tal, se sugiere: