Você está na página 1de 91

RECETA ELECTRÓNICA

CASTILLA-LA MANCHA

Documentación Técnica v2.1


Sistemas de Gestión de
Oficinas de Farmacia.
(27/10/08)
ÍNDICE

ÍNDICE............................................................................................................................................................. 2
CONTROL DE CAMBIOS ............................................................................................................................... 5
1. INTRODUCCIÓN ..................................................................................................................................... 7
2. CICLO DE VIDA / ESTADOS DE LAS RECETAS ................................................................................. 9
3. COMUNICACIÓN DE LOS SGOF CON EL SISTEMA CENTRAL (CCFCAM) ................................... 10
3.1. IDENTIFICACIÓN DE LAS PETICIONES: CUENTAS DE USUARIO Y CERTIFICADOS DIGITALES ................... 10
3.2. NIVEL DE SEGURIDAD EN LOS SERVICIOS WEB .................................................................................. 10
3.3. MECANISMOS DE COMUNICACIÓN CON EL SISTEMA CENTRAL (CCFCAM) ......................................... 11
3.3.1. Opción 1 - Interfaz de comunicación APICOM…………………………………………………..11
3.3.2. Opción 2 - Invocación de los Servicios Web publicados en el CCFCAM…………………….12
3.2.2.1 Estructura de las peticiones y firma digital del elemento XmlInput……………………………13
4. SERVICIOS WEB DEL SISTEMA DE RECETA ELECTRÓNICA ....................................................... 21
4.1. CONSULTA DE DISPENSACIONES PENDIENTES .................................................................................. 21
4.1.1. Nombre del método…………………………………………………………………………………21
4.1.2. Información enviada (InXml)……………………………………………………………………….21
4.1.3. Información recibida………………………………………………………………………………..21
4.1.4. XML de ejemplo del parámetro de entrada InXml………………………………………………23
4.1.5. XML de ejemplo de la respuesta strXMLOutput…………………………………………………23
4.1.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….23
4.1.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………24
4.1.8. Estructura del mensaje SOAP de la llamada…………………………………………………….25
4.1.9. Estructura del mensaje SOAP de la respuesta………………………………………………….25
4.2. CONFIRMACIÓN DE DISPENSACIÓN DE RECETAS ............................................................................... 26
4.2.1. Nombre del método…………………….…………………………………………………………..26
4.2.2. Información enviada……….……………………………………………………………………….26
4.2.3. Información recibida….…………………………………………………………………………….27
4.2.4. XML de ejemplo del parámetro de entrada InXml………………………………………………27
4.2.5. XML de ejemplo de la respuesta (strXMLOutput)……………………………………………….28
4.2.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….29
4.2.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………30
4.2.8. Estructura del mensaje SOAP de la llamada…………………………………………………….30
4.2.9. Estructura del mensaje SOAP de la respuesta………………………………………………….30
4.3. CONSULTA DE DISPENSACIONES REALIZADAS................................................................................... 32
4.3.1. Nombre del método………………………………………………………………………………...32
4.3.2. Información enviada (InXml)………………………………………………………………………32
4.3.3. Información recibida………………………………………………………………………………..32
4.3.4. XML de ejemplo del parámetro de entrada InXml………………………………………………33
4.3.5. XML de ejemplo de la respuesta (strXMLOutput)……………………………………………….33
4.3.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….36
4.3.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………36
4.3.8. Estructura del mensaje SOAP de la llamada…………………………………………………….37
4.3.9. Estructura del mensaje SOAP de la respuesta………………………………………………….38
4.4. ANULACIÓN DE DISPENSACIONES REALIZADAS ................................................................................. 39
4.4.1. Nombre del método…………………………………………………………………………………39
4.4.2. Información enviada (InXml)……………………………………………………………………….39
4.4.3. Información recibida………………………………………………………………………………..39
4.4.4. XML de ejemplo del parámetro de entrada InXml……………………………………………....40
4.4.5. XML de ejemplo de la respuesta (strXMLOutput)……………………………………………….40

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 2 -


4.4.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….41
4.4.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………41
4.4.8. Estructura del mensaje SOAP de la llamada…………………………………………………….42
4.4.9. Estructura del mensaje SOAP de la respuesta………………………………………………….42
4.5. CONSULTA DE ANULACIONES REALIZADAS........................................................................................ 43
4.5.1. Nombre del método…………………………………………………………………………………43
4.5.2. Información enviada (InXml) ………………………………………………………………………43
4.5.3. Información recibida…………………………………………..……………………………………44
4.5.4. XML de ejemplo del parámetro de entrada InXml………………………………………………46
4.5.5. XML de ejemplo de la respuesta (strXMLOutput) ………………………………………………46
4.5.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….48
4.5.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………48
4.5.8. Estructura del mensaje SOAP de la llamada…………………………………………………….49
4.5.9. Estructura del mensaje SOAP de la respuesta………………………………………………….50
4.6. ENVÍO DE ALERTAS ......................................................................................................................... 51
4.6.1. Nombre del método…………………………………………..…………………………………….51
4.6.2. Información enviada……………………………………………..…………………………………51
4.6.3. Información recibida…………………………………………..……………………………………51
4.6.4. XML de ejemplo del parámetro de entrada InXml………………………………………………52
4.6.5. XML de ejemplo de la respuesta (strXMLOutput) ………………………………………………52
4.6.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….52
4.6.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………52
4.6.8. Estructura del mensaje SOAP de la llamada…………………………………………………….53
4.6.9. Estructura del mensaje SOAP de la respuesta………………………………………………….53
4.7. FIRMAR DISPENSACIONES REALIZADAS. ........................................................................................... 54
4.7.1. Nombre del método…………………………………………..…………………………………….54
4.7.2. Información enviada (InXml) …………………………………………..………………………….54
4.7.3. Información recibida…………………………………………..…………………………………....54
4.7.4. XML de ejemplo del parámetro de entrada InXml………………………………………………54
4.7.5. XML de ejemplo de la respuesta (strXMLOutput) ………………………………………………55
4.7.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….55
4.7.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………56
4.7.8. Estructura del mensaje SOAP de la llamada…………………………………………………….56
4.7.9. Estructura del mensaje SOAP de la respuesta………………………………………………….57
4.8. CONSULTA DE DISPENSACIONES FIRMADAS. ..................................................................................... 58
4.8.1. Nombre del método…………………………………………..…………………………………….58
4.8.2. Información enviada (InXml) …………………………………………..………………………….58
4.8.3. Información recibida…………………………………………..…………………………………....58
4.8.4. XML de ejemplo del parámetro de entrada InXml………………………………………………59
4.8.5. XML de ejemplo de la respuesta (strXMLOutput)……………………………………………….59
4.8.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….61
4.8.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………61
4.8.8. Estructura del mensaje SOAP de la llamada…………………………………………………….62
4.8.9. Estructura del mensaje SOAP de la respuesta………………………………………………….63
4.9. CONFIRMAR DISPENSACIÓN MANUAL. .............................................................................................. 63
4.9.1. Nombre del método…………………………………………………………………………………63
4.9.2. Información enviada (InXml) …………………………………………..………………………….63
4.9.3. Información recibida. …………………………………………..…………………………………..64
4.9.4. XML de ejemplo del parámetro de entrada InXml………………………………………………64
4.9.5. XML de ejemplo de la respuesta (strXMLOutput) ………………………………………………65
4.9.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….65
4.9.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………66
4.9.8. Estructura del mensaje SOAP de la llamada…………………………………………………….66
4.9.9. Estructura del mensaje SOAP de la respuesta………………………………………………….67
4.10. ANULACIÓN DISPENSACIÓN MANUAL. ............................................................................................... 68
4.10.1. Nombre del método…………………………………………..…………………………………….68
4.10.2. Información enviada (InXml) …………………………………………..……………………….…68
4.10.3. Información recibida………………………………………………………………………………..68

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 3 -


4.10.4. XML de ejemplo del parámetro de entrada InXm……………………………………………….69
4.10.5. XML de ejemplo de la respuesta (strXMLOutput) ………………………………………………69
4.10.6. Esquema de validación (.xsd) del parámetro de entrada InXml……………………………….69
4.10.7. Esquema de validación (.xsd) de la respuesta strXMLOutput…………………………………69
4.10.8. Estructura del mensaje SOAP de la llamada…………………………………………………….70
4.10.9. Estructura del mensaje SOAP de la respuesta………………………………………………….70
5. LIBRERÍA CLIENTE DE COMUNICACIONES “APICOM” ............................................................... 71
5.1. REQUERIMIENTOS DE LA PLATAFORMA CLIENTE PARA EL USO DE APICOM ........................................ 71
5.2. INSTALACIÓN DE APICOM ............................................................................................................... 71
5.3. DEPENDENCIAS DE APICOM ........................................................................................................... 71
5.4. FICHERO DE PARÁMETROS DE APICOM ........................................................................................... 72
5.5. ESPECIFICACIÓN DE PROPIEDADES Y MÉTODOS PARA CONFIGURACIÓN DE APICOM .......................... 75
5.6. ESPECIFICACIÓN DE MÉTODOS PARA LLAMADAS A SERVICIOS WEB DE APICOM ................................. 76
5.6.1. Parámetros de entrada…………………………………………..…………………………………76
5.6.2. Valor entero de retorno…………………………………………..………………………………...77
5.7. MODO DE USO DE APICOM ............................................................................................................ 78
5.8. REGISTRO DE ERRORES DE APICOM .............................................................................................. 83
ANEXO A. TABLAS DEL SISTEMA DE RECETA ELECTRÓNICA ...................................................... 84
ANEXO B. ESTRUCTURA CABECERAS DE PETICIONES/RESPUESTAS SOAP ............................ 89
B.1. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO .................................................. 90
B.2. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO Y FIRMA DIGITAL .................... 91

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 4 -


CONTROL DE CAMBIOS

Versión Fecha Descripción


1.0 15/03/07 • Creación inicial del documento.
1.1 23/03/07 • Apartado 2.1. Identificación de las Peticiones: Cuentas de Usuario y
Certificados Digitales  Cambios menores de contenido.
• Apartado 3. SERVICIOS WEB DEL SISTEMA CENTRAL (CCFCAM) 
Se han añadido XMLs de ejemplo, para los parámetros de entrada y
salida.
• Apartado 4.5. Especificación de los Métodos de APICOM  Cambios de
orden en la exposición del contenido.
2.0 02/04/08 • Apartado 4. SERVICIOS WEB DEL SISTEMA CENTRAL (CCFCAM) 
Se han añadido los servicios web  Firmar administrativamente
dispensaciones realizadas; Consulta de dispensaciones firmadas;
Confirmar dispensación manual; Anular dispensación manual
• Se añade el apartado 2. Ciclo de vida/estados de las recetas.
• Se añade el apartado 3.2. Nivel de seguridad de los servicios web
• Se añade el apartado 3.2.2.1 "Estructura de las peticiones y firma digital
del elemento XmlIput"
2.1 14/07/08 • Anulación Dispensación Manual. Pag. 68. Apartado 4.10.3. Se cambia la
descripción del punto "Información a nivel DISPENSACION MANUAL NO
ANULADA" a "Información a nivel DISPENSACION MANUAL" (ya que no
solo devuelve las no anuladas)
• Confirmacion Dispensación Manual. Pag. 63. Apartado 4.9.2. Información
enviada (InXml) Se agrega a la tabla el campo IdCCFCAM (identificador
de la receta impreso en la misma) y el campo FechaHoraDispensacion
(fecha y hora en la que fue realizada la dispensación manual). El xml de
Ejemplo y esquema de validación xsd estaban correctos.
• Consulta de Dispensaciones Firmadas. Pag. 58. Apartado 4.8. Consulta
de Dispensaciones Firmadas. Se cambia la descripción general del
servicio web. "Permite firmar administrativamente dispensaciones
realizadas…" a "Permite consultar las dispensaciones que se encuentran
firmadas administrativamente por el farmacéutico."
• Anexo A.1.1. Tabla: Tipo de Respuesta de los servicios web. Se agrega el
tipo de respuesta SESCAM_GLOBAL_003 que significa "Error inesperado
del sistema SESCAM". (cuando no es posible atender la petición por
parte del Sescam)
• Anexo A.1.4. Tabla: Identificador Resultado Dispensación. Se agregan
dos resultados de dispensación: el 11 que significa "La receta no existe"
y el 12 que significa "La receta ya ha sido dispensada".
• Anexo A.1.6. Tabla: Identificador Resultado Anulación. Se agrega el
resultado 3 que significa "Firmada administrativamente".
• Consulta Dispensaciones Realizadas. Pag. 37. Se cambia el tipo de datos
del elemento "RECAS_Dosis" type="xsd:positiveInteger" por

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 5 -


"RECAS_Dosis" type="xsd:TYPE_ShortText"

• Consulta Dispensaciones Realizadas. Pag. 37. Se cambia el tipo de datos


del elemento "RECAS_Frecuencia" type="xsd:positiveInteger" por
"RECAS_Frecuencia" type="xsd:TYPE_ShortText"

• Consulta de Anulaciones Realizadas. Pag. 49. Se cambia el tipo de datos


del elemento "RECAS_Dosis" type="xsd:positiveInteger" por
"RECAS_Dosis" type="xsd:TYPE_ShortText"

• Consulta de Anulaciones Realizadas. Pag. 49. Se cambia el tipo de datos


del elemento "RECAS_Frecuencia" type="xsd:positiveInteger" por
"RECAS_Frecuencia" type="xsd:TYPE_ShortText"

• Consulta de Dispensaciones Firmadas. Pag. 62. Se cambia el tipo de


datos del elemento "RECAS_Dosis" type="xsd:positiveInteger" por
"RECAS_Dosis" type="xsd:TYPE_ShortText"

• Consulta de Dispensaciones Firmadas. Pag. 62. Se cambia el tipo de


datos del elemento "RECAS_Frecuencia" type="xsd:positiveInteger" por
"RECAS_Frecuencia" type="xsd:TYPE_ShortText"

27/10/08 • Página 26. “Confirmación de Dispensación de Recetas”. Se especifica el


formato del documento de facturación a enviar a Sescam. (dos letras fijas
“DF” + 10 dígitos.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 6 -


1. INTRODUCCIÓN

Este documento describe la especificación de los Servicios Web disponibles para la


correcta integración de la dispensación electrónica en los Sistemas de Gestión de
Oficinas de Farmacia (en adelante SGOF).

Para permitir a las Oficinas de Farmacia de la Comunidad Autónoma de Castilla-La Mancha


poder interactuar con el sistema de Receta Electrónica del SESCAM (en adelante RECAS), el
Consejo de Colegios Oficiales de Farmacéuticos de Castilla-La Mancha, implantará un Sistema
Central (en adelante CCFCAM) que actuará como nexo de unión entre las Oficinas de Farmacia
y el Sistema de Receta Electrónica del SESCAM (RECAS).

CERTIFICADO

SISTEMA DE
INTERNET
GESTIÓN INTERNET
OFICINA DE
FARMACIA
SISTEMA
(SGOF) SISTEMA CENTRAL RECETA ELECTRÓNICA
CONSEJO DE SESCAM
COLEGIOS OFICIALES DE ( RECAS)
FARMACEUTICOS DE
CASTILLA-LA MANCHA
(CCFCAM)
CERTIFICADO

SISTEMA DE
GESTIÓN
OFICINA DE
FARMACIA
(SGOF)

El Sistema Central (CCFCAM) proporcionará las siguientes funcionalidades:

• Canalizar las peticiones y respuestas entre las Oficinas de Farmacia y el SESCAM.


• Gestionar la seguridad, mediante el control de cuentas de usuario, contraseña y
certificados.
• Gestionar las peticiones, mediante la validación de las cuentas de usuario, contraseñas y
certificados.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 7 -


Los Servicios Web disponibles en el CCFCAM son los siguientes:

• WS_RECAS_ConsultaDispensacionesPendientes: Consulta de las


dispensaciones/recetas pendientes de dispensar a un paciente.
• WS_RECAS_ConfirmacionDispensacionesPendientes: Permite “confirmar” la
dispensación de dispensaciones/recetas pendientes.
• WS_RECAS_ConsultaDispensacionesRealizadas: Permite conocer las dispensaciones
realizadas a un paciente desde una oficina de farmacia y que están pendientes de “firma
administrativa” (*1) por parte del Farmacéutico.
• WS_RECAS_AnularDispensacionesRealizadas: Permite anular dispensaciones
realizadas a un paciente desde una oficina de farmacia.
• WS_RECAS_ConsultaAnulacionesRealizadas: Permite conocer las anulaciones
realizadas a un paciente desde una oficina de farmacia.
• WS_RECAS_EnvioAlertaDispensacion: Permite enviar una alerta al médico prescriptor
sobre un medicamento prescrito pendiente de dispensar.
• WS_RECAS_FirmarDispensaciones: Permite “firmar administrativamente”
dispensaciones realizadas y pendientes de “firma administrativa” (*1) por parte del
Farmacéutico.
• WS_RECAS_ConsultaDispensacionesFirmadas: Consulta las dispensaciones que se
encuentran “firmadas administrativamente” (*1) por el Farmacéutico.
• WS_RECAS_ConfirmacionDispensacionesManuales: Permite confirmar la
dispensación de una “receta manual/papel” (*2), introduciéndola en el Sistema de
Facturación del CCFCAM.
• WS_RECAS_AnularDispensacionesManuales: Permite anular dispensaciones de
“recetas manual/papel” (*2).

(*1) Firma Administrativa: Proceso por el cual, el Farmacéutico valida/confirma la correcta


dispensación de la receta, pasando esta al Sistema de Facturación del CCFCAM.
(*2) Receta manual/papel: Receta que no ha sido dada de alta en el Sistema de Receta
Electrónica por ser prescrita en formato papel. (Generalmente servicios de urgencia o que no
cuentan con el sistema de prescripción electrónica)

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 8 -


2. CICLO DE VIDA / ESTADOS DE LAS RECETAS

A continuación, se muestran los diferentes estados en los que puede estar una receta en el
Sistema de Receta Electrónica (según los Servicios Web que se invoquen).

NOTA:

El Servicio Web “Consulta de Dispensaciones Pendientes” obtiene aquellas recetas


que se encuentran en estado “Receta Pendiente”.

El Servicio Web "Consulta de Dispensaciones Realizadas“obtiene aquellas recetas que


se encuentran en estado “Receta Dispensada”.

El Servicio Web “Consulta de Dispensaciones Anuladas” obtiene aquellas recetas que


se encuentran en el registro de “Anulaciones Realizadas”.

El Servicio Web "Consulta de Dispensaciones Firmadas“obtiene aquellas recetas que


se encuentran en estado “Receta Firmada”.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 9 -


3. COMUNICACIÓN DE LOS SGOF CON EL SISTEMA CENTRAL (CCFCAM)

3.1. Identificación de las Peticiones: Cuentas de Usuario y Certificados Digitales

Toda petición que llega al CCFCAM desde un SGOF, se identificará por medio de una cuenta de
usuario y contraseña. Además de este usuario y contraseña, existirán algunas peticiones que
agregarán la firma de un profesional Farmacéutico, mediante un certificado digital de
Farmacéutico. Únicamente se proporcionan certificados digitales a los farmacéuticos colegiados.
En teoría, cada vendedor del programa de farmacia debería tener asociado un usuario y
contraseña de receta electrónica, para que al realizar la operación se envíe el usuario del
vendedor/auxiliar correspondiente.

Con este escenario de seguridad y con el fin de validar las peticiones entrantes, el CCFCAM
mantiene la base de datos de las farmacias con todas sus cuentas de usuario relacionadas y
todos los certificados de colegiados relacionados.

Las farmacias solicitarán los certificados y cuentas de usuario al CCFCAM.

3.2. Nivel de seguridad en los Servicios Web

En la siguiente tabla se muestra el nivel de seguridad para cada servicio web:

NIVEL DE SEGURIDAD
Autentificación Autentificacion con
SERVICIO WEB con Usuario y Firma/Certificado de
contraseña Farmacéutico

Consulta Dispensaciones Pendientes

Confirmacion Disensaciones Pendientes


SIN Sustitución (*1)
Confirmacion Disensaciones Pendientes
CON Sustitución (*1)
Consulta Dispensaciones Realizadas

Anular Dispensaciones Realizadas

Consulta Anulaciones Realizadas

Envio Alerta Disp. Pendiente

Firmar Administrativamente
Dispensaciones
Consulta Dispensaciones Firmadas

Dispensacion Receta Manual Sin


Sustitución (*1)
Dispensacion Receta Manual Con
Sustitución (*1)
Anulación Dispensación Receta Manual

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 10 -


(*1) definimos sustitución a la dispensación de un medicamento cuyo código nacional y
medicamento es diferente al prescrito. No se consideran y por tanto no requieren firma digital
del Farmacéutico, aquellas dispensaciones del mismo medicamento al prescrito, pero con
diferente código nacional. A este concepto de dispensación le llamaremos dispensación con
cambio de código. (generalmente ocurre al cambiar los precios)

3.3. Mecanismos de Comunicación con el Sistema Central (CCFCAM)

Los SGOF disponen de dos opciones para comunicarse con el CCFCAM:

• Opción 1 - Mediante interfaz de comunicación APICOM (Librería APICOM.dll).


• Opción 2 - Invocación directa a los Servicios Web publicados en el CCFCAM.

3.3.1. Opción 1 - Interfaz de comunicación APICOM

Si bien es posible la invocación directa a los servicios Web del CCFCAM, se ha creado la librería
APICOM para abstraer la complejidad del envío de elementos de seguridad o tokens (cuenta de
usuario y firma digital) en las peticiones que realizarían los SGOF. También abstrae al
programador la programación para la utilización del certificado digital introducido en el lector de
tarjetas o bien en el sistema de archivos del equipo.

La especificación completa de la librería APICOM se detalla en el apartado “5. LIBRERÍA


CLIENTE DE COMUNICACIONES “APICOM””.

Por tanto, si se utiliza APICOM, únicamente habrá que proporcionar los datos necesarios en los
parámetros de los métodos para que pueda realizar la petición.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 11 -


El diagrama de comunicación utilizando ApiCom se resume en la siguiente figura:

APICOM

Métodos Disponibles:
ConsultaDispensacionesPendientes
ConfirmacionDispensacionesPendientes
ConsultaDispensacionesRealizadas
CERTIFICADO
AnularDispensacionesRealizadas
ConsultaAnulacionesRealizadas INTERNET
SISTEMA CENTRAL
SISTEMA DE EnvioAlertaDispensacion CONSEJO DE
GESTIÓN FirmarDispensaciones COLEGIOS OFICIALES
OFICINA DE ConsultaDispensacionesFirmadas FARMACEUTICOS
FARMACIA ConfirmacionDispensacionesManuales CASTILLA-LA MANCHA
(SGOF) (CCFCAM)
AnularDispensacionesManuales

3.3.2. Opción 2 - Invocación de los Servicios Web publicados en el CCFCAM

Para aquellos SGOF que no cumplan los requisitos para la utilización del APICOM o que no
deseen utilizarla, deberán ser ellos mismos los encargados de gestionar las peticiones,
autenticando la petición con cuenta de usuario/contraseña, y firmando el mensaje cuando sea
necesario. Por tanto, las cabeceras de las peticiones SOAP deberán cumplir la especificación del
“ANEXO B. ESTRUCTURA CABECERAS DE PETICIONES/RESPUESTAS SOAP”.

La especificación completa de los Servicios Web se detalla en el apartado “4. Servicios web del
Sistema de Receta Electrónica”.

El diagrama de comunicación se representa mediante la siguiente figura:

INTERNET
CERTIFICADO

SISTEMA CENTRAL
SISTEMA DE CONSEJO DE
GESTIÓN COLEGIOS OFICIALES DE
OFICINA DE FARMACEUTICOS DE
FARMACIA CASTILLA-LA MANCHA
(SGOF) (CCFCAM)

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 12 -


El SGOF deberá realizar los siguientes pasos si no utiliza APICOM e invoca directamente a
los Servicios Web:

PASO 1:Adjuntar la cuenta de usuario y contraseña de Receta Electrónica a la petición


(elemento usernameToken de la petición)
PASO 2: Si procede, firmar el mensaje utilizando la clave privada, contenida en el
certificado digital. (Ver “3.2. Nivel de seguridad en los servicios web)
PASO 3: Realizar la petición al método que proceda con los parámetros especificados en
cada uno de los Servicios Web. (Los Servicios Web están especificados en el
apartado “4. Servicios Web del Sistema Central”).

3.2.2.1 Estructura de las peticiones y firma digital del elemento XmlInput

La estructura de todas las peticiones a los servicios web deberá cumplir el siguiente esquema:

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 13 -


XmlInput
XmlImput especificado para cada
método (Ver apartado 4. Servicios
web del Sistema de Receta
Electrónica. Inciso “Xml de ejemplo
SignedData del parámetro de entrada”

Signature

Elemento opcional si la llamada requiere firma del Farmacéutico

Como se ve en la figura anterior, el nodo principal SignedData, contiene dos subnodos:

XmlInput (elemento obligatorio): elemento que contiene la información de entrada del servicio
web al que se invoca (la estructura del XmlInput está especificada por un fichero xsd para
cada servicio web, en el apartado “4. Servicios web del Sistema de Receta Electrónica”) El
contenido de este elemento será firmado digitalmente, en aquellos servicios que requieran
firma digital. (Ver “3.2. Nivel de seguridad en los servicios web)
Signature (elemento opcional): este nodo se enviará únicamente cuando los métodos
requieran firma digital, y cumple el estándar XMLSignature.

A continuación se muestra el fichero .xsd que define esta estructura de las peticiones
(sombreado en amarillo las definiciones de los tres nodos comentados anteriormente, y
sombreado en gris las definiciones (o tipo de datos) del elemento signature que cumple con el
estándar XMLSignature):

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 14 -


<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<xsd:annotation>
<xsd:documentation xml:lang="es">
Esquema peticion.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="SignedData" type="TYPE_SignedData"/>
<xsd:complexType name="TYPE_SignedData">
<xsd:sequence>
<xsd:element name="XmlInput" type="TYPE_TextNotNull"/>
<element name="Signature" type="ds:SignatureType" minOccurs="0"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="TYPE_TextNotNull">
<xsd:restriction base="xsd:token">
<xsd:minLength value = "1"/>
</xsd:restriction>
</xsd:simpleType>

<complexType name="SignatureType">
<sequence>
<element ref="ds:SignedInfo"/>
<element ref="ds:SignatureValue"/>
<element ref="ds:KeyInfo" minOccurs="0"/>
<element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="SignatureValue" type="ds:SignatureValueType"/>
<complexType name="SignatureValueType">
<simpleContent>
<extension base="base64Binary">
<attribute name="Id" type="ID" use="optional"/>
</extension>
</simpleContent>
</complexType>
<!-- Start SignedInfo -->
<element name="SignedInfo" type="ds:SignedInfoType"/>
<complexType name="SignedInfoType">
<sequence>
<element ref="ds:CanonicalizationMethod"/>
<element ref="ds:SignatureMethod"/>
<element ref="ds:Reference" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
<complexType name="CanonicalizationMethodType" mixed="true">
<sequence>
<any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) namespace -->
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 15 -


<element name="SignatureMethod" type="ds:SignatureMethodType"/>
<complexType name="SignatureMethodType" mixed="true">
<sequence>
<element name="HMACOutputLength" minOccurs="0"
type="ds:HMACOutputLengthType"/>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) external namespace -->
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<!-- Start Reference -->
<element name="Reference" type="ds:ReferenceType"/>
<complexType name="ReferenceType">
<sequence>
<element ref="ds:Transforms" minOccurs="0"/>
<element ref="ds:DigestMethod"/>
<element ref="ds:DigestValue"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="URI" type="anyURI" use="optional"/>
<attribute name="Type" type="anyURI" use="optional"/>
</complexType>
<element name="Transforms" type="ds:TransformsType"/>
<complexType name="TransformsType">
<sequence>
<element ref="ds:Transform" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="Transform" type="ds:TransformType"/>
<complexType name="TransformType" mixed="true">
<choice minOccurs="0" maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
<element name="XPath" type="string"/>
</choice>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<!-- End Reference -->
<element name="DigestMethod" type="ds:DigestMethodType"/>
<complexType name="DigestMethodType" mixed="true">
<sequence>
<any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<element name="DigestValue" type="ds:DigestValueType"/>
<simpleType name="DigestValueType">
<restriction base="base64Binary"/>
</simpleType>
<!-- End SignedInfo -->
<!-- Start KeyInfo -->
<element name="KeyInfo" type="ds:KeyInfoType"/>
<complexType name="KeyInfoType" mixed="true">
<choice maxOccurs="unbounded">
<element ref="ds:KeyName"/>
<element ref="ds:KeyValue"/>
<element ref="ds:RetrievalMethod"/>
<element ref="ds:X509Data"/>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 16 -


<element ref="ds:PGPData"/>
<element ref="ds:SPKIData"/>
<element ref="ds:MgmtData"/>
<any processContents="lax" namespace="##other"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
</choice>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="KeyName" type="string"/>
<element name="MgmtData" type="string"/>
<element name="KeyValue" type="ds:KeyValueType"/>
<complexType name="KeyValueType" mixed="true">
<choice>
<element ref="ds:DSAKeyValue"/>
<element ref="ds:RSAKeyValue"/>
<any namespace="##other" processContents="lax"/>
</choice>
</complexType>
<element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
<complexType name="RetrievalMethodType">
<sequence>
<element ref="ds:Transforms" minOccurs="0"/>
</sequence>
<attribute name="URI" type="anyURI"/>
<attribute name="Type" type="anyURI" use="optional"/>
</complexType>
<!-- Start X509Data -->
<element name="X509Data" type="ds:X509DataType"/>
<complexType name="X509DataType">
<sequence maxOccurs="unbounded">
<choice>
<element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
<element name="X509SKI" type="base64Binary"/>
<element name="X509SubjectName" type="string"/>
<element name="X509Certificate" type="base64Binary"/>
<element name="X509CRL" type="base64Binary"/>
<any namespace="##other" processContents="lax"/>
</choice>
</sequence>
</complexType>
<complexType name="X509IssuerSerialType">
<sequence>
<element name="X509IssuerName" type="string"/>
<element name="X509SerialNumber" type="integer"/>
</sequence>
</complexType>
<!-- End X509Data -->
<!-- Begin PGPData -->
<element name="PGPData" type="ds:PGPDataType"/>
<complexType name="PGPDataType">
<choice>
<sequence>
<element name="PGPKeyID" type="base64Binary"/>
<element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
<any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
<sequence>
<element name="PGPKeyPacket" type="base64Binary"/>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 17 -


<any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</choice>
</complexType>
<!-- End PGPData -->
<!-- Begin SPKIData -->
<element name="SPKIData" type="ds:SPKIDataType"/>
<complexType name="SPKIDataType">
<sequence maxOccurs="unbounded">
<element name="SPKISexp" type="base64Binary"/>
<any namespace="##other" processContents="lax" minOccurs="0"/>
</sequence>
</complexType>
<!-- End SPKIData -->
<!-- End KeyInfo -->
<!-- Start Object (Manifest, SignatureProperty) -->
<element name="Object" type="ds:ObjectType"/>
<complexType name="ObjectType" mixed="true">
<sequence minOccurs="0" maxOccurs="unbounded">
<any namespace="##any" processContents="lax"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="MimeType" type="string" use="optional"/>
<!-- add a grep facet -->
<attribute name="Encoding" type="anyURI" use="optional"/>
</complexType>
<element name="Manifest" type="ds:ManifestType"/>
<complexType name="ManifestType">
<sequence>
<element ref="ds:Reference" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
<complexType name="SignaturePropertiesType">
<sequence>
<element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="SignatureProperty" type="ds:SignaturePropertyType"/>
<complexType name="SignaturePropertyType" mixed="true">
<choice maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (1,unbounded) namespaces -->
</choice>
<attribute name="Target" type="anyURI" use="required"/>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<!-- End Object (Manifest, SignatureProperty) -->
<!-- Start Algorithm Parameters -->
<simpleType name="HMACOutputLengthType">
<restriction base="integer"/>
</simpleType>
<!-- Start KeyValue Element-types -->
<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
<complexType name="DSAKeyValueType">
<sequence>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 18 -


<sequence minOccurs="0">
<element name="P" type="ds:CryptoBinary"/>
<element name="Q" type="ds:CryptoBinary"/>
</sequence>
<element name="G" type="ds:CryptoBinary" minOccurs="0"/>
<element name="Y" type="ds:CryptoBinary"/>
<element name="J" type="ds:CryptoBinary" minOccurs="0"/>
<sequence minOccurs="0">
<element name="Seed" type="ds:CryptoBinary"/>
<element name="PgenCounter" type="ds:CryptoBinary"/>
</sequence>
</sequence>
</complexType>
<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
<complexType name="RSAKeyValueType">
<sequence>
<element name="Modulus" type="ds:CryptoBinary"/>
<element name="Exponent" type="ds:CryptoBinary"/>
</sequence>
</complexType>
<!-- End KeyValue Element-types -->
<!-- End Signature -->
<xsd:simpleType name="CryptoBinary">
<xsd:restriction base="xsd:base64Binary">
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

A continuación se muestra un ejemplo que cumple las especificaciones definidas por el xsd
anterior (sombreado en verde el elemento que se firma, y sombreado en gris la información de la
firma y el certificado que se utiliza, las transformaciones aplicadas, etc.):

<SignedData>
<XmlInput id="XmlInput">Xml de entrada</XmlInput>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#XmlInput">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>WaIpO6NANx52Hj5iTi1EZgySAC8=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>bfV2SUeSrdcCFqdb04RK4i7U+islnJjP2rpBT+mbpQkXPoZPGFwsT7YXn
9RdE4H4/952X9JlpDpe4DPbrEB5OVzSXKl5/EKyVVUViVOMIVr3HZOPDBc1sk/8rW31h6T
m/E6eZ8VwDp/Pq3a4a88poCxlP+iWWQyTR3ybo9J+Wpw=</SignatureValue>
<KeyInfo>
<X509Data>
<X509IssuerSerial>
<X509IssuerName>CN=AC Firmaprofesional - CA1, O=Firmaprofesional S.A. NIF A-
62634068, OU=Jerarquia de Certificacion Firmaprofesional, OU=Consulte
http://www.firmaprofesional.com, L=C/ Muntaner 244 Barcelona,
E=ca1@firmaprofesional.com, C=ES</X509IssuerName>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 19 -


<X509SerialNumber>128663195275960913741311077072508966170</X509SerialNum
ber>
</X509IssuerSerial>
</X509Data>
</KeyInfo>
</Signature>
</SignedData>

Nota: el elemento Reference URI="#XmlInput" está indicando que se debe firmar el elemento XmlInput
con ese algoritmo de transformación específico.
En el elemento SignatureValue tendremos el resultado de la firma y en el elemento KeyInfo la información
del certificado utilizado para firmar.

A continuación se muestra un ejemplo sin la firma digital del farmacéutico:

<SignedData>
<XmlInput id="XmlInput">Xml de entrada</XmlInput>
</SignedData>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 20 -


4. SERVICIOS WEB DEL SISTEMA DE RECETA ELECTRÓNICA

4.1. Consulta de Dispensaciones Pendientes

Consulta los medicamentos prescritos pendientes de dispensar a un paciente.

4.1.1. Nombre del método

string strXMLOuput WS_RECAS_ConsultaDispensacionesPendientes(string InXML)

4.1.2. Información enviada (InXml)

• Información a nivel PACIENTE:

Campo Descripción
CIPPaciente CIP del paciente a consultar.

4.1.3. Información recibida

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel PACIENTE: La información recibida del paciente es la siguiente:

Campo Descripción
CIPPaciente CIP del paciente.
NombrePaciente Nombre del paciente.
ApellidosPaciente Apellidos del paciente.
MedicoPaciente Medico “de cabecera” del paciente.
CentroMedicoPaciente Centro médico del paciente.
InicioPeriodoProximaDisp Fecha de inicio de próxima dispensación.
Indica la fecha “a partir de la cual” se puede realizar la próxima
dispensación, a nivel paciente (independientemente de la prescripción).
FinPeriodoProximaDisp Fecha de fin de próxima dispensación.
Indica la fecha “hasta la cual” se puede realizar la próxima dispensación,
a nivel paciente (independientemente de la prescripción).
DescripMedProxDisp Descripción del medicamento de próxima dispensación. En caso de que
existan varios en la misma fecha de inicio, se concatenará la descripción
de los medicamentos.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 21 -


• Información a nivel RECETA: La información recibida, por cada una de las recetas pendientes (si
existiera alguna), es la siguiente:

Campo Descripción
IdSESCAM Identificador SESCAM de receta.
TipoReceta Tipo de receta: 0  Nombre comercial || 1  Principio activo.
RegimenPaciente Identificador del régimen del paciente.
Ver A.1.2 Tabla: Régimen del Paciente.
FechaReceta Fecha de creación de la receta.
InicioPeriodoDispensacion Fecha de inicio del periodo de dispensación.
Indica la fecha “a partir de la cual” se puede realizar la
dispensación de la receta.
FinPeriodoDispensacion Fecha de fin del periodo de dispensación.
Indica la fecha “hasta la cual” se puede realizar la
INFO. GENERAL RECETA

dispensación de la receta.
CNMedicamento CN del medicamento recetado.
NOTA: En el caso de recetas por “principio activo”; se enviará
como CNMedicamento un código en el siguiente formato: “P” +
“CNConjunto”, donde CNConjunto es el Código Nacional de un
medicamento, en cuyo “Conjunto Homogéneo” se encuentran
los posibles medicamentos a dispensar.
INFO. RECETA

DescripMedicamento Descripción del medicamento recetado.


EnvasesDispensar Número de envases recetados.
Dosis Dosis de la posología.
UdMedidaDosis Unidad de medida de la dosis de la posología.
Frecuencia Frecuencia de la dosis de la posología.
UdMedidaFrecuencia Unidad de medida de la frecuencia de la dosis de la posología.
DuracionPrescripcion Duración de la prescripción (días).
CentroMedicoReceta Centro médico donde se realizó la receta.
MedicoReceta Nombre/Apellidos del médico que realizó la receta.
NumColegiadoReceta Número de colegiado que realizó la receta.
CIASReceta CIAS del médico que realizó la receta.
Instrucciones Instrucciones del médico sobre la receta.
FechaInicioPrescripcion Fecha de inicio de la prescripción.
INFO. PRESCRIP.

FechaFinPrescripcion Fecha de fin de la prescripción.


InicioPeriodoProxDispPres Fecha de inicio de próxima dispensación, a nivel prescripción.
RECETA

Indica la fecha “a partir de la cual” se puede realizar la próxima


dispensación a nivel de prescripción.
FinPeriodoProxDispPres Fecha de fin de próxima dispensación, a nivel prescripción.
Indica la fecha “hasta la cual” se puede realizar la próxima
dispensación a nivel de prescripción.
EsUltimaPrescripción Indica si esta receta es la última de la prescripción.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 22 -


4.1.4. XML de ejemplo del parámetro de entrada InXml
<WS_RECAS_ConsultaDispensacionesPendientes>
<RECAS_CIPPaciente>CIPE000000000215</RECAS_CIPPaciente>
</WS_RECAS_ConsultaDispensacionesPendientes>

4.1.5. XML de ejemplo de la respuesta strXMLOutput


<WS_RECAS_RespuestaDispensacionesPendientes>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_ResultadoPendientes>
<RECAS_CIPPaciente>CIPE000000000215</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE CIPE000000000215</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS CIPE000000000215</RECAS_ApellidosPaciente>
<RECAS_MedicoPaciente>Martin Sanchez, Juan Carlos</RECAS_MedicoPaciente>
<RECAS_CentroMedicoPaciente>Hospital Provincial De La Misericordia</RECAS_CentroMedicoPaciente>
<RECAS_InicioPeriodoProximaDisp>2007-04-24</RECAS_InicioPeriodoProximaDisp>
<RECAS_FinPeriodoProximaDisp>2007-05-04</RECAS_FinPeriodoProximaDisp>
<RECAS_DescripMedProxDisp>GELOCATIL 650 MG 20 COMPRIMIDOS</RECAS_DescripMedProxDisp>
<RECAS_Dispensacion>
<RECAS_IdSESCAM>E2150</RECAS_IdSESCAM>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2007-04-24</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2007-04-24</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2007-05-04</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>762674</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>GELOCATIL 650 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensar>4</RECAS_EnvasesDispensar>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>1</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>1</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>1</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS MEDICO</RECAS_CIASReceta>
</RECAS_Dispensacion>
<RECAS_Dispensacion>
<RECAS_IdSESCAM>E2151</RECAS_IdSESCAM>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2007-04-24</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2007-04-24</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2007-05-04</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>700013</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>AAS 100 100 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensar>3</RECAS_EnvasesDispensar>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>1</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>1</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>1</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS MEDICO</RECAS_CIASReceta>
</RECAS_Dispensacion>
</RECAS_ResultadoPendientes>
</WS_RECAS_RespuestaDispensacionesPendientes>

4.1.6. Esquema de validación (.xsd) del parámetro de entrada InXml


<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 23 -


Consulta de Dispensaciones Pendientes.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_ConsultaDispensacionesPendientes" type="TYPE_ConsultaDispensacionesPendientes" />
<xsd:complexType name="TYPE_ConsultaDispensacionesPendientes">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.1.7. Esquema de validación (.xsd) de la respuesta strXMLOutput


<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Respuesta Dispensaciones Pendientes.</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaDispensacionesPendientes"
type="TYPE_RespuestaDispensacionesPendientes" />
<xsd:complexType name="TYPE_RespuestaDispensacionesPendientes">
<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText" />
<xsd:element name="RECAS_ResultadoPendientes" type="TYPE_ResultadoPendientes"
minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_ResultadoPendientes">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_NombrePaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ApellidosPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_MedicoPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_CentroMedicoPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_InicioPeriodoProximaDisp" type="xsd:date"
minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_FinPeriodoProximaDisp" type="xsd:date"
minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_DescripMedProxDisp" type="TYPE_ShortText"
minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_Dispensacion" type="TYPE_Dispensacion"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_Dispensacion">
<xsd:sequence>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText" />
<xsd:element name="RECAS_TipoReceta" type="TYPE_TipoReceta" />
<xsd:element name="RECAS_RegimenPaciente" type="TYPE_ShortText" />
<xsd:element name="RECAS_FechaReceta" type="xsd:date"/>
<xsd:element name="RECAS_InicioPeriodoDispensacion" type="xsd:date"/>
<xsd:element name="RECAS_FinPeriodoDispensacion" type="xsd:date"/>
<xsd:element name="RECAS_CNMedicamento" type="TYPE_ShortText"/>
<xsd:element name="RECAS_DescripMedicamento" type="TYPE_ShortText" />
<xsd:element name="RECAS_EnvasesDispensar" type="xsd:positiveInteger" />
<xsd:element name="RECAS_Dosis" type="TYPE_ShortText"/>
<xsd:element name="RECAS_UdMedidaDosis" type="TYPE_ShortText"/>
<xsd:element name="RECAS_Frecuencia" type="TYPE_ShortText"/>
<xsd:element name="RECAS_UdMedidaFrecuencia" type="TYPE_ShortText"/>
<xsd:element name="RECAS_DuracionPrescripcion" type="TYPE_ShortText"
minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_CentroMedicoReceta" type="TYPE_LongText"/>
<xsd:element name="RECAS_MedicoReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_NumColegiadoReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_CIASReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_Instrucciones" type="TYPE_LongText"
minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_FechaInicioPrescripcion" type="xsd:date"
minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_FechaFinPrescripcion" type="xsd:date"
minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_InicioPeriodoProxDispPres" type="xsd:date"
minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_FinPeriodoProxDispPres" type="xsd:date"

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 24 -


minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_EsUltimaPrescripcion" type="xsd:boolean"
minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_TipoReceta">
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.1.8. Estructura del mensaje SOAP de la llamada


A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.1. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO
</soap:Header>
<soap:Body>
<WS_RECAS_ConsultaDispensacionesPendientes xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_ConsultaDispensacionesPendientes>
</soap:Body>
</soap:Envelope>

4.1.9. Estructura del mensaje SOAP de la respuesta


A continuación se muestra un ejemplo de respuesta SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_ConsultaDispensacionesPendientesResponse
xmlns="http://localhost/">
<WS_RECAS_ConsultaDispensacionesPendientesResult>strXMLOutput</WS_RECAS_Consult
aDispensacionesPendientesResult>
</WS_RECAS_ConsultaDispensacionesPendientesResponse>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 25 -


4.2. Confirmación de Dispensación de Recetas

Permite confirmar la dispensación de recetas. El resultado de la invocación del método, devuelve


un código de respuesta para cada una de las recetas enviadas.

4.2.1. Nombre del método


string strXMLOuput WS_RECAS_ConfirmacionDispensacionesPendientes (string InXml)

4.2.2. Información enviada.

• Información a nivel PACIENTE:

Campo Descripción
CIPPaciente CIP del paciente a consultar.

• Información a nivel MÉTODO:

Campo Descripción
FechaHoraDispensacion Fecha/hora de dispensación.

• Información a nivel RECETA A DISPENSAR: La información enviada, por cada una de las recetas
que se desea confirmar, es la siguiente:

Campo Descripción
IdSESCAM Identificador SESCAM de la receta.
IdDocFacturacion Identificador del documento de facturación. (*1)
ComentarioFarmaceutico Comentarios del farmacéutico sobre la dispensación.
CNMedicamentoDispensado CN del medicamento dispensado. Puede ser igual al CN del
medicamento prescrito, o diferente, por sustitución, cambio de
código del medicamento, o prescripción por principio activo.
IdMotivoSustitucion Identificador del motivo de la sustitución, en caso de que el
medicamento dispensado no coincida con el medicamento
prescrito.
Ver “A.1.3 Tabla: Motivo Sustitución.”
EsCambioCodigo Indica que se ha dispensado el mismo medicamento al prescrito
pero con diferente Código Nacional.

(*1) Todas las Oficinas de Farmacia contarán con un lote de documentos de facturación. El lote
será un conjunto de páginas numeradas que repartirá el área de farmacia del Colegio Oficial de
Farmacéuticos (son documentos de facturación con un identificador único). Cada página
contendrá espacio físico disponible para pegar hasta seis códigos de barras de medicamentos
dispensados. El personal de la OF irá rellenando estos documentos a medida que vaya
dispensando. El formato es dos letras fijas “DF” + 10 dígitos. Ejemplo: DF0123456789

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 26 -


4.2.3. Información recibida

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel RECETA “A DISPENSAR”: La información recibida, por cada una de las recetas
que se intenta dispensar, es la siguiente:

Campo Descripción
IdSESCAM Identificador SESCAM de la receta a dispensar.
IdResultadoDispensacion Identificador del resultado de la dispensación.
Ver “A.1.4 Tabla: Identificador Resultado Dispensación.”

4.2.4. XML de ejemplo del parámetro de entrada InXml

<WS_RECAS_ConfirmacionDispensacionesPendientes>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_FechaHoraDispensacion>2008-04-17T06:52:37</RECAS_FechaHoraDispensacion>
<!-- Dispensación CON sustitución (Desabastecimiento) -->
<RECAS_Dispensacion>
<RECAS_IdSESCAM>J099980</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_CNMedicamentoDispensado>747311</RECAS_CNMedicamentoDispensado>
<RECAS_IdMotivoSustitucion>1</RECAS_IdMotivoSustitucion>
</RECAS_Dispensacion>

<!-- Dispensación SIN sustitución -->


<RECAS_Dispensacion>
<RECAS_IdSESCAM>J099981</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_CNMedicamentoDispensado>700013</RECAS_CNMedicamentoDispensado>
</RECAS_Dispensacion>

<!-- Dispensación CON sustitución (Principio Activo) -->


<RECAS_Dispensacion>
<RECAS_IdSESCAM>J099983</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_CNMedicamentoDispensado>723924</RECAS_CNMedicamentoDispensado>
<RECAS_IdMotivoSustitucion>3</RECAS_IdMotivoSustitucion>
</RECAS_Dispensacion>

<!-- Dispensación CON Cambio de Código -->


<RECAS_Dispensacion>
<RECAS_IdSESCAM>J099984</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_CNMedicamentoDispensado>797662</RECAS_CNMedicamentoDispensado>
<RECAS_EsCambioCodigo>true</RECAS_EsCambioCodigo>
</RECAS_Dispensacion>
</WS_RECAS_ConfirmacionDispensacionesPendientes>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 27 -


4.2.5. XML de ejemplo de la respuesta (strXMLOutput)

<WS_RECAS_RespuestaConfirmacionDispensacionesPendientes>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_ResultadoDispensacion>
<RECAS_IdSESCAM>J099980</RECAS_IdSESCAM>
<RECAS_IdResultadoDispensacion>0</RECAS_IdResultadoDispensacion>
</RECAS_ResultadoDispensacion>
<RECAS_ResultadoDispensacion>
<RECAS_IdSESCAM>J099981</RECAS_IdSESCAM>
<RECAS_IdResultadoDispensacion>0</RECAS_IdResultadoDispensacion>
</RECAS_ResultadoDispensacion>
<RECAS_ResultadoDispensacion>
<RECAS_IdSESCAM>J099983</RECAS_IdSESCAM>
<RECAS_IdResultadoDispensacion>0</RECAS_IdResultadoDispensacion>
</RECAS_ResultadoDispensacion>
<RECAS_ResultadoDispensacion>
<RECAS_IdSESCAM>J099984</RECAS_IdSESCAM>
<RECAS_IdResultadoDispensacion>0</RECAS_IdResultadoDispensacion>
</RECAS_ResultadoDispensacion>
</WS_RECAS_RespuestaConfirmacionDispensacionesPendientes>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 28 -


4.2.6. Esquema de validación (.xsd) del parámetro de entrada InXml
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Confirmación de Dispensaciones Pendientes. </xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_ConfirmacionDispensacionesPendientes"
type="TYPE_ConfirmacionDispensacionesPendientes"/>
<xsd:complexType name="TYPE_ConfirmacionDispensacionesPendientes">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_FechaHoraDispensacion" type="xsd:dateTime"/>
<xsd:element name="RECAS_Dispensacion" type="TYPE_Dispensacion"
minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_Dispensacion">
<xsd:sequence>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdDocFacturacion" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ComentarioFarmaceutico" type="TYPE_LongText"
minOccurs="0" maxOccurs="1"/>
<xsd:element name="RECAS_CNMedicamentoDispensado" type="TYPE_ShortText"/>
<xsd:choice minOccurs="0" maxOccurs="1">
<xsd:element name="RECAS_IdMotivoSustitucion" type="TYPE_ShortText"/>
<xsd:element name="RECAS_EsCambioCodigo" type="xsd:boolean"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 29 -


4.2.7. Esquema de validación (.xsd) de la respuesta strXMLOutput
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">
Respuesta Confirmación de Dispensaciones Pendientes.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaConfirmacionDispensacionesPendientes"
type="TYPE_RespuestaConfirmacionDispensacionesPendientes"/>
<xsd:complexType name="TYPE_RespuestaConfirmacionDispensacionesPendientes">
<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ResultadoDispensacion" type="TYPE_ResultadoDispensacion"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_ResultadoDispensacion">
<xsd:sequence>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdResultadoDispensacion" type="TYPE_ShortText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.2.8. Estructura del mensaje SOAP de la llamada


A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.1. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO (sin sustitución)
B.2. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO Y FIRMA DIGITAL (con
sustitución)
</soap:Header>
<soap:Body>
<WS_RECAS_ConfirmacionDispensacionesPendientes xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_ConfirmacionDispensacionesPendientes>
</soap:Body>
</soap:Envelope>

4.2.9. Estructura del mensaje SOAP de la respuesta


A continuación se muestra un ejemplo de respuesta SOAP:

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 30 -


<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_ConfirmacionDispensacionesPendientesResponse
xmlns="http://localhost/">
<WS_RECAS_ConfirmacionDispensacionesPendientesResult>strXMLOutput</WS_RECAS_Con
firmacionDispensacionesPendientesResult>
</WS_RECAS_ConfirmacionDispensacionesPendientesResponse>
</soap:Body>
</ soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 31 -


4.3. Consulta de Dispensaciones Realizadas

Permite conocer las dispensaciones realizadas a un paciente desde una oficina de farmacia.

4.3.1. Nombre del método

string strXMLOuput WS_RECAS_ConsultaDispensacionesRealizadas (string InXml)

4.3.2. Información enviada (InXml)

• Información a nivel PACIENTE:

Campo Descripción
CIPPaciente CIP del paciente a consultar.

• Información a nivel RECETA: La información enviada, para la consulta/busqueda de dispensaciones


realizadas, es la siguiente:

Campo Descripción
FechaInicio Fecha de inicio del periodo de consulta, respecto a la fecha de dispensación.
FechaFin Fecha de fin del periodo de consulta, respecto a la fecha de dispensación.
IdDocFacturacion Documento de facturación.
IdSESCAM Identificador SESCAM de receta.
EsRecetaManual Indicador de receta manual (creada a partir del servicio “Dispensación
Manual”).

4.3.3. Información recibida.

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel RECETA “DISPENSADA”: La información recibida, por cada una de las recetas
dispensadas (en caso de que existiera alguna), es la siguiente:

Campo Descripción
CIPPaciente CIP del paciente.
INFO.

NombrePaciente Nombre del paciente.


ApellidosPaciente Apellidos del paciente.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 32 -


IdSESCAM Identificador SESCAM de receta. (en caso de receta electrónica).
EsRecetaManual Indica si la receta se creó partiendo de una receta manual.
IdCCFCAM Identificador CCFCAM de receta (en caso de receta manual).
IdDocFacturacion Identificador del documento de facturación.
FechaHoraDispensacion Fecha/Hora de dispensación.
TipoReceta Tipo receta.
RegimenPaciente Identificador del régimen del paciente.
FechaReceta Fecha de creación de la receta.
InicioPeriodoDispensacion Fecha de inicio del periodo de dispensación. Indica la fecha “a partir
de la cual” se podía realizar la dispensación de la receta.
FinPeriodoDispensacion Fecha de fin del periodo de dispensación. Indica la fecha “hasta la
cual” se podía realizar la dispensación de la receta.
CNMedicamento CN del medicamento recetado.
DescripMedicamento Descripción del medicamento recetado.
EnvasesDispensados Número de envases dispensados (recetados).
Dosis Dosis de la posología.
UdMedidaDosis Unidad de medida de la dosis de la posología.
Frecuencia Frecuencia de la dosis de la posología.
UdMedidaFrecuencia Unidad de medida de la frecuencia de la dosis de la posología.
CentroMedicoReceta Centro médico donde se realizó la receta.
MedicoReceta Nombre/Apellidos del médico que realizó la receta.
NumColegiadoReceta Número de colegiado que realizó la receta.
CIASReceta CIAS del médico que realizó la receta.
Instrucciones Instrucciones del médico sobre la receta.
ComentarioFarmaceutico Comentarios del farmacéutico sobre la receta.
CNMedicamentoDispensado CN del medicamento dispensado.
IdMotivoSustitucion Identificador del motivo de la sustitución.
EsCambioCodigo Indica que se ha dispensado el mismo medicamento al prescrito
pero con diferente Código Nacional.

4.3.4. XML de ejemplo del parámetro de entrada InXml


<WS_RECAS_ConsultaDispensacionesRealizadas>
<RECAS_CIPPaciente>MRMR741128090999</RECAS_CIPPaciente>
<RECAS_FechaInicio>2007-04-01</RECAS_FechaInicio>
<RECAS_FechaFin>2007-04-01</RECAS_FechaFin>
</WS_RECAS_ConsultaDispensacionesRealizadas>

4.3.5. XML de ejemplo de la respuesta (strXMLOutput)

<WS_RECAS_RespuestaConsultaDispensacionesRealizadas>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_DispensacionRealizada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099980</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T06:52:46</RECAS_FechaHoraDispensacion>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 33 -


<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>762674</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>GELOCATIL 650 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>4</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 762674</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>747311</RECAS_CNMedicamentoDispensado>
<RECAS_IdMotivoSustitucion>1</RECAS_IdMotivoSustitucion>
</RECAS_DispensacionRealizada>
<RECAS_DispensacionRealizada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099981</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T06:52:46</RECAS_FechaHoraDispensacion>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>700013</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>AAS 100 100 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>3</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 700013</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>700013</RECAS_CNMedicamentoDispensado>
</RECAS_DispensacionRealizada>
<RECAS_DispensacionRealizada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099983</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T06:52:46</RECAS_FechaHoraDispensacion>
<RECAS_TipoReceta>1</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>653624</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>ACECLOFENACO 100 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>3</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 653624</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>723924</RECAS_CNMedicamentoDispensado>
<RECAS_IdMotivoSustitucion>3</RECAS_IdMotivoSustitucion>
</RECAS_DispensacionRealizada>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 34 -


<RECAS_DispensacionRealizada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099984</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T06:52:46</RECAS_FechaHoraDispensacion>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>653117</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>OFTALMOLOSA CUSI HIDROCORTISONA 1.5% P</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>2</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 653117</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>797662</RECAS_CNMedicamentoDispensado>
<RECAS_EsCambioCodigo>true</RECAS_EsCambioCodigo>
</RECAS_DispensacionRealizada>
</WS_RECAS_RespuestaConsultaDispensacionesRealizadas>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 35 -


4.3.6. Esquema de validación (.xsd) del parámetro de entrada InXml
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">
Consulta de Dispensaciones Realizadas.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_ConsultaDispensacionesRealizadas" type="TYPE_ConsultaDispensacionesRealizadas"/>
<xsd:complexType name="TYPE_ConsultaDispensacionesRealizadas">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_FechaInicio" type="xsd:date" minOccurs="0"/>
<xsd:element name="RECAS_FechaFin" type="xsd:date" minOccurs="0"/>
<xsd:element name="RECAS_IdDocFacturacion" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_EsRecetaManual" type="xsd:boolean" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.3.7. Esquema de validación (.xsd) de la respuesta strXMLOutput

<?xml version="1.0" encoding="utf-8" ?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">
Respuesta Consulta de Dispensaciones Realizadas.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaConsultaDispensacionesRealizadas"
type="TYPE_RespuestaConsultaDispensacionesRealizadas"/>
<xsd:complexType name="TYPE_RespuestaConsultaDispensacionesRealizadas">
<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_DispensacionRealizada" type="TYPE_DispensacionRealizada"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_DispensacionRealizada">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_NombrePaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ApellidosPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_EsRecetaManual" type="xsd:boolean" />
<xsd:choice>
<xsd:group ref="Group_RecetaSESCAM"/>
<xsd:group ref="Group_RecetaManual" />
</xsd:choice>
<xsd:element name="RECAS_CNMedicamentoDispensado" type="TYPE_ShortText"/>
<xsd:choice>
<xsd:element name="RECAS_IdMotivoSustitucion" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_EsCambioCodigo" type="xsd:boolean" minOccurs="0"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_MedicamentoDispensado">
<xsd:sequence>

</xsd:sequence>

</xsd:complexType>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 36 -


<xsd:group name="Group_RecetaSESCAM">
<xsd:sequence>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText" />
<xsd:element name="RECAS_IdDocFacturacion" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_FechaHoraDispensacion" type="xsd:dateTime" />
<xsd:element name="RECAS_TipoReceta" type="TYPE_TipoReceta" />
<xsd:element name="RECAS_RegimenPaciente" type="TYPE_ShortText" />
<xsd:element name="RECAS_FechaReceta" type="xsd:date"/>
<xsd:element name="RECAS_InicioPeriodoDispensacion" type="xsd:date" />
<xsd:element name="RECAS_FinPeriodoDispensacion" type="xsd:date" minOccurs="0"/>
<xsd:element name="RECAS_CNMedicamento" type="TYPE_ShortText" minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_DescripMedicamento" type="TYPE_ShortText" />
<xsd:element name="RECAS_EnvasesDispensados" type="xsd:positiveInteger" />
<xsd:element name="RECAS_Dosis" type="TYPE_ShortText" />
<xsd:element name="RECAS_UdMedidaDosis" type="TYPE_ShortText" />
<xsd:element name="RECAS_Frecuencia" type="TYPE_ShortText" />
<xsd:element name="RECAS_UdMedidaFrecuencia" type="TYPE_ShortText" />

<xsd:element name="RECAS_CentroMedicoReceta" type="TYPE_LongText"/>


<xsd:element name="RECAS_MedicoReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_NumColegiadoReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_CIASReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_Instrucciones" type="TYPE_LongText" minOccurs="0" maxOccurs="1" />
<xsd:element name="RECAS_ComentarioFarmaceutico" type="TYPE_LongText" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
</xsd:group>

<xsd:group name="Group_RecetaManual">
<xsd:sequence>
<xsd:element name="RECAS_IdCCFCAM" type="TYPE_ShortText" />
<xsd:element name="RECAS_FechaHoraDispensacion" type="xsd:dateTime" />
<xsd:element name="RECAS_TipoReceta" type="TYPE_TipoReceta" />
<xsd:element name="RECAS_RegimenPaciente" type="TYPE_ShortText" />
<xsd:element name="RECAS_FechaReceta" type="xsd:date"/>
<xsd:element name="RECAS_CNMedicamento" type="TYPE_ShortText" minOccurs="0"
maxOccurs="1" />
<xsd:element name="RECAS_DescripMedicamento" type="TYPE_ShortText" />
<xsd:element name="RECAS_EnvasesDispensados" type="xsd:positiveInteger" />
<xsd:element name="RECAS_ComentarioFarmaceutico" type="TYPE_LongText" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
</xsd:group>

<xsd:simpleType name="TYPE_TipoReceta">
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.3.8. Estructura del mensaje SOAP de la llamada

A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.1. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO
</soap:Header>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 37 -


<soap:Body>
<WS_RECAS_ConsultaDispensacionesRealizadas xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_ConsultaDispensacionesRealizadas>
</soap:Body>
</soap:Envelope>

4.3.9. Estructura del mensaje SOAP de la respuesta


A continuación se muestra un ejemplo de respuesta SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_ConsultaDispensacionesRealizadasResponse
xmlns="http://localhost/">
<WS_RECAS_ConsultaDispensacionesRealizadasResult>strXMLOutput</WS_RECAS_Consult
aDispensacionesRealizadasResult>
</WS_RECAS_ConsultaDispensacionesRealizadasResponse>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 38 -


4.4. Anulación de Dispensaciones Realizadas

Permite anular dispensaciones realizadas a un paciente desde una oficina de farmacia. El


resultado de la invocación al método, devuelve un código de respuesta para cada una de las
recetas a anular.

4.4.1. Nombre del método

string strXMLOuput WS_RECAS_AnularDispensacionesRealizadas (string InXml)

4.4.2. Información enviada (InXml)

• Información a nivel PACIENTE:

Campo Descripción
CIPPaciente CIP del paciente

• Información a nivel DISPENSACION “A ANULAR”: La información enviada, por cada una de las
recetas a anular, es la siguiente:

Campo Descripción
IdSESCAM Identificador SESCAM de la receta.
IdMotivoAnulacion Identificador del motivo de la anulación.
Ver “A.1.5 Tabla: Motivo Anulación.”

4.4.3. Información recibida.

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel DISPENSACION “A ANULAR”: La información recibida, por cada una de las
recetas que se intenta anular, es la siguiente:

Campo Descripción
IdSESCAM Identificador SESCAM de la receta a anular.
IdResultadoAnulacion Identificador del resultado de la anulación.
Ver “A.1.6 Tabla: Identificador Resultado Anulación.”

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 39 -


4.4.4. XML de ejemplo del parámetro de entrada InXml

<WS_RECAS_AnularDispensacionesRealizadas>
<RECAS_CIPPaciente>MRMR741128090999</RECAS_CIPPaciente>
<RECAS_DispensacionAnular>
<RECAS_IdSESCAM>J099991</RECAS_IdSESCAM>
<RECAS_IdMotivoAnulacion>1</RECAS_IdMotivoAnulacion>
</RECAS_DispensacionAnular>
<RECAS_DispensacionAnular>
<RECAS_IdSESCAM>J099994</RECAS_IdSESCAM>
<RECAS_IdMotivoAnulacion>1</RECAS_IdMotivoAnulacion>
</RECAS_DispensacionAnular>
</WS_RECAS_AnularDispensacionesRealizadas>

4.4.5. XML de ejemplo de la respuesta (strXMLOutput)

<WS_RECAS_RespuestaAnularDispensacionesRealizadas>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_ResultadoAnulacion>
<RECAS_IdSESCAM>J099991</RECAS_IdSESCAM>
<RECAS_IdResultadoAnulacion>0</RECAS_IdResultadoAnulacion>
</RECAS_ResultadoAnulacion>
<RECAS_ResultadoAnulacion>
<RECAS_IdSESCAM>J099994</RECAS_IdSESCAM>
<RECAS_IdResultadoAnulacion>0</RECAS_IdResultadoAnulacion>
</RECAS_ResultadoAnulacion>
</WS_RECAS_RespuestaAnularDispensacionesRealizadas>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 40 -


4.4.6. Esquema de validación (.xsd) del parámetro de entrada InXml
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Anular Dispensaciones Realizadas.</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_AnularDispensacionesRealizadas" type="TYPE_AnularDispensacionesRealizadas"/>
<xsd:complexType name="TYPE_AnularDispensacionesRealizadas">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_DispensacionAnular" type="TYPE_Dispensacion"
minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_Dispensacion">
<xsd:sequence>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdMotivoAnulacion" type="TYPE_ShortText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.4.7. Esquema de validación (.xsd) de la respuesta strXMLOutput


<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Respuesta Anular Dispensaciones Realizadas. </xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaAnularDispensacionesRealizadas"
type="TYPE_RespuestaAnularDispensacionesRealizadas"/>
<xsd:complexType name="TYPE_RespuestaAnularDispensacionesRealizadas">
<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ResultadoAnulacion" type="TYPE_ResultadoAnulacion"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_ResultadoAnulacion">
<xsd:sequence>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdResultadoAnulacion" type="TYPE_ShortText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 41 -


4.4.8. Estructura del mensaje SOAP de la llamada
A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.2. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO Y FIRMA DIGITAL
</soap:Header>
<soap:Body>
<WS_RECAS_AnularDispensacionesRealizadas xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_AnularDispensacionesRealizadas>
</soap:Body>
</soap:Envelope>

4.4.9. Estructura del mensaje SOAP de la respuesta


A continuación se muestra un ejemplo de respuesta SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_AnularDispensacionesRealizadasResponse xmlns="http://localhost/">
<WS_RECAS_AnularDispensacionesRealizadasResult>strXMLOutput</WS_RECAS_AnularDis
pensacionesRealizadasResult>
</WS_RECAS_AnularDispensacionesRealizadasResponse>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 42 -


4.5. Consulta de Anulaciones Realizadas

Permite conocer las anulaciones realizadas desde una oficina de farmacia.

4.5.1. Nombre del método

string strXMLOuput WS_RECAS_ConsultaAnulacionesRealizadas (string InXml)

4.5.2. Información enviada (InXml)

• Información a nivel PACIENTE:

Campo Descripción
CIPPaciente CIP del paciente.

• Información a nivel RECETA: La información enviada, para la consulta/búsqueda de dispensaciones


anuladas, es la siguiente:

Campo Descripción
FechaInicio Fecha de inicio del periodo de consulta, respecto a la fecha de anulación.
FechaFin Fecha de fin del periodo de consulta, respecto a la fecha de anulación.
IdDocFacturacion Documento de facturación.
IdSESCAM Identificador SESCAM de la receta.
EsRecetaManual Indicador de receta manual (creada a partir del servicio “Dispensación Manual”).

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 43 -


4.5.3. Información recibida.

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel RECETA “ANULADA”: La información recibida, por cada una de las recetas
anuladas (en caso de que existiera alguna), es la siguiente:

Campo Descripción
CIPPaciente CIP del paciente.
NombrePaciente Nombre del paciente.
ApellidosPaciente Apellidos del paciente.
IdSESCAM Identificador SESCAM de receta.
EsRecetaManual Indica si la receta se creó partiendo de una receta manual.
IdCCFCAM Identificador CCFCAM de receta (en caso de receta manual).
IdDocFacturacion Identificador del documento de facturación.
FechaHoraDispensacion Fecha/Hora de dispensación.
TipoReceta Tipo receta.
RegimenPaciente Identificador del régimen del paciente.
FechaReceta Fecha de creación de la receta.
InicioPeriodoDispensacion Fecha de inicio del periodo de dispensación. Indica la fecha “a
partir de la cual” se podía realizar la dispensación de la receta.
FinPeriodoDispensacion Fecha de fin del periodo de dispensación. Indica la fecha “hasta la
INFO. RECETA

cual” se podía realizar la dispensación de la receta.


CNMedicamento CN del medicamento recetado.
DescripMedicamento Descripción del medicamento recetado.
EnvasesDispensados Número de envases dispensados (recetados).
Dosis Dosis de la posología.
UdMedidaDosis Unidad de medida de la dosis de la posología.
Frecuencia Frecuencia de la dosis de la posología.
UdMedidaFrecuencia Unidad de medida de la frecuencia de la dosis de la posología.

CentroMedicoReceta Centro médico donde se realizó la receta.


MedicoReceta Nombre/Apellidos del médico que realizó la receta.
NumColegiadoReceta Número de colegiado que realizó la receta.
CIASReceta CIAS del médico que realizó la receta.
Instrucciones Instrucciones del médico sobre la receta.
ComentarioFarmaceutico Comentarios del farmacéutico sobre la receta.
CNMedicamentoDispensado CN del medicamento dispensado.
IdMotivoSustitucion Identificador del motivo de la sustitución.
EsCambioCodigo Indica que se ha dispensado el mismo medicamento al prescrito
pero con diferente Código Nacional.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 44 -


FechaHoraAnulacion Fecha/Hora de anulación.
IdMotivoAnulacion Identificador del motivo de la anulación.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 45 -


4.5.4. XML de ejemplo del parámetro de entrada InXml

<WS_RECAS_ConsultaAnulacionesRealizadas>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_FechaInicio>2008-04-17</RECAS_FechaInicio>
<RECAS_FechaFin>2008-04-17</RECAS_FechaFin>
</WS_RECAS_ConsultaAnulacionesRealizadas>

4.5.5. XML de ejemplo de la respuesta (strXMLOutput)

<WS_RECAS_RespuestaConsultaAnulacionesRealizadas>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_DispensacionAnulada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099980</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T06:52:46</RECAS_FechaHoraDispensacion>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>762674</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>GELOCATIL 650 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>4</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 762674</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>747311</RECAS_CNMedicamentoDispensado>
<RECAS_IdMotivoSustitucion>1</RECAS_IdMotivoSustitucion>
<RECAS_FechaHoraAnulacion>2008-04-17T07:18:50</RECAS_FechaHoraAnulacion>
<RECAS_IdMotivoAnulacion>Id Motivo Anulacion</RECAS_IdMotivoAnulacion>
</RECAS_DispensacionAnulada>
<RECAS_DispensacionAnulada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099981</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T06:52:46</RECAS_FechaHoraDispensacion>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>700013</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>AAS 100 100 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>3</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 46 -


<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 700013</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>700013</RECAS_CNMedicamentoDispensado>
<RECAS_FechaHoraAnulacion>2008-04-17T07:18:50</RECAS_FechaHoraAnulacion>
<RECAS_IdMotivoAnulacion>Id Motivo Anulacion</RECAS_IdMotivoAnulacion>
</RECAS_DispensacionAnulada>
<RECAS_DispensacionAnulada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099983</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T06:52:46</RECAS_FechaHoraDispensacion>
<RECAS_TipoReceta>1</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>653624</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>ACECLOFENACO 100 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>3</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 653624</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>723924</RECAS_CNMedicamentoDispensado>
<RECAS_IdMotivoSustitucion>3</RECAS_IdMotivoSustitucion>
<RECAS_FechaHoraAnulacion>2008-04-17T07:18:50</RECAS_FechaHoraAnulacion>
<RECAS_IdMotivoAnulacion>Id Motivo Anulacion</RECAS_IdMotivoAnulacion>
</RECAS_DispensacionAnulada>
<RECAS_DispensacionAnulada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099984</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T06:52:46</RECAS_FechaHoraDispensacion>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>653117</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>OFTALMOLOSA CUSI HIDROCORTISONA 1.5% P</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>2</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 653117</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>797662</RECAS_CNMedicamentoDispensado>
<RECAS_FechaHoraAnulacion>2008-04-17T07:18:50</RECAS_FechaHoraAnulacion>
<RECAS_IdMotivoAnulacion>Id Motivo Anulacion</RECAS_IdMotivoAnulacion>
</RECAS_DispensacionAnulada>
</WS_RECAS_RespuestaConsultaAnulacionesRealizadas>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 47 -


4.5.6. Esquema de validación (.xsd) del parámetro de entrada InXml
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Consulta de Anulaciones Realizadas.</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_ConsultaAnulacionesRealizadas" type="TYPE_ConsultaAnulacionesRealizadas"/>
<xsd:complexType name="TYPE_ConsultaAnulacionesRealizadas">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_FechaInicio" type="xsd:date" minOccurs="0"/>
<xsd:element name="RECAS_FechaFin" type="xsd:date" minOccurs="0"/>
<xsd:element name="RECAS_IdDocFacturacion" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_EsRecetaManual" type="xsd:boolean" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.5.7. Esquema de validación (.xsd) de la respuesta strXMLOutput

<?xml version="1.0" encoding="utf-8" ?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Respuesta Consulta Anulaciones Realizadas.</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaConsultaAnulacionesRealizadas"
type="TYPE_RespuestaConsultaAnulacionesRealizadas"/>
<xsd:complexType name="TYPE_RespuestaConsultaAnulacionesRealizadas">
<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_DispensacionAnulada" type="TYPE_DispensacionAnulada"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_DispensacionAnulada">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_NombrePaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ApellidosPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_EsRecetaManual" type="xsd:boolean" />
<xsd:choice>
<xsd:group ref="Group_RecetaSESCAM"/>
<xsd:group ref="Group_RecetaManual" />
</xsd:choice>
<xsd:element name="RECAS_CNMedicamentoDispensado" type="TYPE_ShortText"/>
<xsd:choice>
<xsd:element name="RECAS_IdMotivoSustitucion" type="TYPE_ShortText"
minOccurs="0"/>
<xsd:element name="RECAS_EsCambioCodigo" type="xsd:boolean" minOccurs="0"/>
</xsd:choice>
<xsd:element name="RECAS_FechaHoraAnulacion" type="xsd:dateTime" />
<xsd:element name="RECAS_IdMotivoAnulacion" type="TYPE_ShortText" />
</xsd:sequence>
</xsd:complexType>
<xsd:group name="Group_RecetaSESCAM">
<xsd:sequence>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText" />
<xsd:element name="RECAS_IdDocFacturacion" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_FechaHoraDispensacion" type="xsd:dateTime" />
<xsd:element name="RECAS_TipoReceta" type="TYPE_TipoPrescripcion" />
<xsd:element name="RECAS_RegimenPaciente" type="TYPE_ShortText" />

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 48 -


<xsd:element name="RECAS_FechaReceta" type="xsd:date"/>
<xsd:element name="RECAS_InicioPeriodoDispensacion" type="xsd:date" />
<xsd:element name="RECAS_FinPeriodoDispensacion" type="xsd:date" minOccurs="0"/>
<xsd:element name="RECAS_CNMedicamento" type="TYPE_ShortText" minOccurs="0"
maxOccurs="1" />
<xsd:element name="RECAS_DescripMedicamento" type="TYPE_ShortText" />
<xsd:element name="RECAS_EnvasesDispensados" type="xsd:positiveInteger" />
<xsd:element name="RECAS_Dosis" type="TYPE_ShortText" />
<xsd:element name="RECAS_UdMedidaDosis" type="TYPE_ShortText" />
<xsd:element name="RECAS_Frecuencia" type="TYPE_ShortText" />
<xsd:element name="RECAS_UdMedidaFrecuencia" type="TYPE_ShortText" />
<xsd:element name="RECAS_CentroMedicoReceta" type="TYPE_LongText"/>
<xsd:element name="RECAS_MedicoReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_NumColegiadoReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_CIASReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_Instrucciones" type="TYPE_LongText" minOccurs="0"
maxOccurs="1" />
<xsd:element name="RECAS_ComentarioFarmaceutico" type="TYPE_LongText" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
</xsd:group>

<xsd:group name="Group_RecetaManual">
<xsd:sequence>
<xsd:element name="RECAS_IdCCFCAM" type="TYPE_ShortText" />
<xsd:element name="RECAS_FechaHoraDispensacion" type="xsd:dateTime" />
<xsd:element name="RECAS_TipoReceta" type="TYPE_TipoPrescripcion" />
<xsd:element name="RECAS_RegimenPaciente" type="TYPE_ShortText" />
<xsd:element name="RECAS_FechaReceta" type="xsd:date"/>
<xsd:element name="RECAS_CNMedicamento" type="TYPE_ShortText" minOccurs="0"
maxOccurs="1" />
<xsd:element name="RECAS_DescripMedicamento" type="TYPE_ShortText" />
<xsd:element name="RECAS_EnvasesDispensados" type="xsd:positiveInteger" />
<xsd:element name="RECAS_ComentarioFarmaceutico" type="TYPE_LongText" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
</xsd:group>
<xsd:simpleType name="TYPE_TipoPrescripcion">
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.5.8. Estructura del mensaje SOAP de la llamada


A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.1. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO
</soap:Header>
<soap:Body>
<WS_RECAS_ConsultaAnulacionesRealizadas xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_ConsultaAnulacionesRealizadas>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 49 -


</soap:Body>
</soap:Envelope>

4.5.9. Estructura del mensaje SOAP de la respuesta


A continuación se muestra un ejemplo de respuesta SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_ConsultaAnulacionesRealizadasResponse xmlns="http://localhost/">
<WS_RECAS_ConsultaAnulacionesRealizadasResult>strXMLOutput</WS_RECAS_ConsultaAn
ulacionesRealizadasResult>
</WS_RECAS_ConsultaAnulacionesRealizadasResponse>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 50 -


4.6. Envío de Alertas

Permite el envío de alertas al CIAS del médico prescriptor y al CIAS del médico de cabecera (si
es que no coinciden) sobre una receta pendiente de dispensar.

4.6.1. Nombre del método

string strXMLOuput WS_RECAS_EnvioAlertaDispensacion (string InXml)

4.6.2. Información enviada.

• Información a nivel PACIENTE:

Campo Descripción
CIPPaciente CIP del paciente.

• Información a nivel RECETA: La información enviada, correspondiente a la alerta de una receta


pendiente de dispensación, es la siguiente:

Campo Descripción
IdSESCAM Identificador SESCAM de la receta.
GradoAlerta Grado de la alerta. Valores posibles: 0: Normal || 1: Urgente
MensajeAlerta Mensaje de alerta.

4.6.3. Información recibida.

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel RECETA “ENVIO ALERTA”: La información recibida, en el envío de una alerta
de una receta pendiente, es la siguiente:

Campo Descripción
IdResultadoAlerta Identificador del resultado del envío de la alerta.
Ver “A.1.7 Tabla: Identificador Resultado Alerta.”

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 51 -


4.6.4. XML de ejemplo del parámetro de entrada InXml

<WS_RECAS_EnvioAlertaDispensacion>
<RECAS_CIPPaciente>MRMR741128090999</RECAS_CIPPaciente>
<RECAS_IdSESCAM>J099990</RECAS_IdSESCAM>
<RECAS_GradoAlerta>1</RECAS_GradoAlerta>
<RECAS_MensajeAlerta>El paciente comenta
contraindicaciones.</RECAS_MensajeAlerta>
</WS_RECAS_EnvioAlertaDispensacion>

4.6.5. XML de ejemplo de la respuesta (strXMLOutput)

<WS_RECAS_RespuestaEnvioAlertaDispensacion>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_IdResultadoAlerta>0</RECAS_IdResultadoAlerta>
</WS_RECAS_RespuestaEnvioAlertaDispensacion>

4.6.6. Esquema de validación (.xsd) del parámetro de entrada InXml


<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">
Envio Alerta de Dispensacion.
</xsd:documentation>
</xsd:annotation>
<xsd:element name=" WS_RECAS_EnvioAlertaDispensacion"
type="TYPE_EnvioAlertaDispensacion "/>
<xsd:complexType name="TYPE_EnvioAlertaDispensacion">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_GradoAlerta" type="TYPE_GradoAlerta"/>
<xsd:element name="RECAS_MensajeAlerta" type="TYPE_LongText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_GradoAlerta">
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0"/>
<xsd:enumeration value="1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.6.7. Esquema de validación (.xsd) de la respuesta strXMLOutput


<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 52 -


<xsd:annotation>
<xsd:documentation xml:lang="es">
Respuesta Envio Alerta de Dispensacion.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaEnvioAlertaDispensacion"
type="TYPE_RespuestaEnvioAlertaDispensacion"/>
<xsd:complexType name="TYPE_RespuestaEnvioAlertaDispensacion">
<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdResultadoAlerta" type="TYPE_ShortText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value = "1"/>
<xsd:maxLength value = "100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.6.8. Estructura del mensaje SOAP de la llamada


A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.2. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO Y FIRMA DIGITAL
</soap:Header>
<soap:Body>
<WS_RECAS_EnvioAlertaDispensacion xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_EnvioAlertaDispensacion>
</soap:Body>
</soap:Envelope>

4.6.9. Estructura del mensaje SOAP de la respuesta


A continuación se muestra un ejemplo de respuesta SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_EnvioAlertaDispensacionResponse xmlns="http://localhost/">
<WS_RECAS_EnvioAlertaDispensacionResult>strXMLOutput</WS_RECAS_EnvioAlertaDispe
nsacionResult>
</WS_RECAS_EnvioAlertaDispensacionResponse>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 53 -


4.7. Firmar Dispensaciones Realizadas.

Permite “firmar administrativamente” dispensaciones realizadas. Una vez firmadas las


dispensaciones, ya no sería posible su anulación. El resultado de la invocación al método,
devuelve un código de respuesta para cada una de las recetas a firmar.

4.7.1. Nombre del método

string strXMLOuput WS_RECAS_FirmarDispensaciones (string InXML)

4.7.2. Información enviada (InXml)

• Información a nivel RECETA/DISPENSACIÓN: La información enviada, correspondiente a la recetas


dispensadas que se pretenden “firmar administrativamente”, es la siguiente:

Campo Descripción
IdSESCAM Identificador SESCAM de la receta.
IdCCFCAM Identificador CCFCAM de la receta/dispesnacion manual a firmar.

4.7.3. Información recibida

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel RECETA/DISPENSACIÓN “A FIRMAR”: La información recibida, por cada una


de las recetas que se intenta firmar, es la siguiente:

Campo Descripción
IdSESCAM Identificador SESCAM de la receta/dispensación a firmar.
IdCCFCAM Identificador CCFCAM de la receta/dispensacion manual a firmar.
IdResultadoFirma Identificador del resultado de la firma.
Ver “A.1.8 Tabla: Identificador Resultado Firma Administrativa.”

4.7.4. XML de ejemplo del parámetro de entrada InXml

<WS_RECAS_FirmarDispensaciones>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 54 -


<RECAS_Dispensacion>
<RECAS_IdSESCAM>J099980</RECAS_IdSESCAM>
</RECAS_Dispensacion>
<RECAS_Dispensacion>
<RECAS_IdSESCAM>J099981</RECAS_IdSESCAM>
</RECAS_Dispensacion>
<RECAS_Dispensacion>
<RECAS_IdSESCAM>J099982</RECAS_IdSESCAM>
</RECAS_Dispensacion>
</WS_RECAS_FirmarDispensaciones>

4.7.5. XML de ejemplo de la respuesta (strXMLOutput)

<WS_RECAS_RespuestaFirmarDispensaciones>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_ResultadoFirma>
<RECAS_IdSESCAM>J099980</RECAS_IdSESCAM>
<RECAS_IdResultadoFirma>0</RECAS_IdResultadoFirma>
</RECAS_ResultadoFirma>
<RECAS_ResultadoFirma>
<RECAS_IdSESCAM>J099981</RECAS_IdSESCAM>
<RECAS_IdResultadoFirma>0</RECAS_IdResultadoFirma>
</RECAS_ResultadoFirma>
<RECAS_ResultadoFirma>
<RECAS_IdSESCAM>J099982</RECAS_IdSESCAM>
<RECAS_IdResultadoFirma>0</RECAS_IdResultadoFirma>
</RECAS_ResultadoFirma>
</WS_RECAS_RespuestaFirmarDispensaciones>

4.7.6. Esquema de validación (.xsd) del parámetro de entrada InXml


<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Firmar dispensaciones realizadas. </xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_FirmarDispensaciones" type="TYPE_FirmarDispensaciones"/>
<xsd:complexType name="TYPE_FirmarDispensaciones">
<xsd:sequence>
<xsd:element name="RECAS_Dispensacion" type="TYPE_Dispensacion"
minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_Dispensacion">
<xsd:sequence>
<xsd:choice>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdCCFCAM" type="TYPE_ShortText"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>

<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 55 -


4.7.7. Esquema de validación (.xsd) de la respuesta strXMLOutput
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Respuesta Firmar dispensaciones realizadas.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaFirmarDispensaciones" type="TYPE_RespuestaFirmarDispensaciones"/>
<xsd:complexType name="TYPE_RespuestaFirmarDispensaciones">
<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ResultadoFirma" type="TYPE_ResultadoFirma"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_ResultadoFirma">
<xsd:sequence>
<xsd:choice>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdCCFCAM" type="TYPE_ShortText"/>
</xsd:choice>
<xsd:element name="RECAS_IdResultadoFirma" type="TYPE_ShortText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.7.8. Estructura del mensaje SOAP de la llamada

A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.2. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO Y FIRMA DIGITAL
</soap:Header>
<soap:Body>
<WS_RECAS_FirmarDispensaciones xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_FirmarDispensaciones>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 56 -


4.7.9. Estructura del mensaje SOAP de la respuesta
A continuación se muestra un ejemplo de respuesta SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_FirmarDispensacionesResponse xmlns="http://localhost/">
<WS_RECAS_FirmarDispensacionesResult>strXMLOutput</WS_RECAS_FirmarDispensacione
sResult>
</WS_RECAS_FirmarDispensacionesResponse>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 57 -


4.8. Consulta de Dispensaciones Firmadas.

Permite consultar las dispensaciones que se encuentran "firmadas administrativamente" por el


farmacéutico.

4.8.1. Nombre del método

string strXMLOuput WS_RECAS_ConsultaDispensacionesFirmadas (string InXML)

4.8.2. Información enviada (InXml)

• Información a nivel RECETA “DISPENSADA Y FIRMADA”: La información enviada, para la


consulta/búsqueda de dispensaciones realizadas y “firmadas administrativa”, es la siguiente:

Campo Descripción
FechaInicio Fecha de inicio del periodo de consulta, respecto a la fecha de firma.
FechaFin Fecha de fin del periodo de consulta, respecto a la fecha de firma.
IdDocFacturacion Documento de facturación.
IdSESCAM Identificador SESCAM de la receta.
EsRecetaManual Indicador de receta manual (creada a partir del servicio “Dispensación Manual”).

4.8.3. Información recibida.

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel RECETA “DISPENSADA Y FIRMADA”: La información recibida, por cada una de
las recetas dispensada y “firmada administrativa” (en caso de que existiera alguna), es la siguiente:

Campo Descripción
CIPPaciente CIP del paciente.
NombrePaciente Nombre del paciente.
IINFO. RECETA

ApellidosPaciente Apellidos del paciente.


IdSESCAM Identificador SESCAM de receta.
EsRecetaManual Indica si la receta se creó partiendo de una receta manual.
IdCCFCAM Identificador CCFCAM de receta (en caso de receta manual).
IdDocFacturacion Identificador del documento de facturación.
FechaHoraDispensacion Fecha/Hora de dispensación.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 58 -


FechaHoraFirma Fecha/Hora de firma administrativa.
TipoReceta Tipo receta.
RegimenPaciente Identificador del régimen del paciente.
FechaReceta Fecha de creación de la receta.
InicioPeriodoDispensacion Fecha de inicio del periodo de dispensación. Indica la fecha “a
partir de la cual” se podía realizar la dispensación de la receta.
FinPeriodoDispensacion Fecha de fin del periodo de dispensación. Indica la fecha “hasta
la cual” se podía realizar la dispensación de la receta.
CNMedicamento CN del medicamento recetado.
DescripMedicamento Descripción del medicamento recetado.
EnvasesDispensados Número de envases dispensados (recetados).
Dosis Dosis de la posología.
UdMedidaDosis Unidad de medida de la dosis de la posología.
Frecuencia Frecuencia de la dosis de la posología.
UdMedidaFrecuencia Unidad de medida de la frecuencia de la dosis de la posología.

CentroMedicoReceta Centro médico donde se realizó la receta.


MedicoReceta Nombre/Apellidos del médico que realizó la receta.
NumColegiadoReceta Número de colegiado que realizó la receta.
CIASReceta CIAS del médico que realizó la receta.
Instrucciones Instrucciones del médico sobre la receta.
ComentarioFarmaceutico Comentarios del farmacéutico sobre la receta.
CNMedicamentoDispensado CN del medicamento dispensado.
IdMotivoSustitucion Identificador del motivo de la sustitución.
EsCambioCodigo Indica que se ha dispensado el mismo medicamento al prescrito
pero con diferente Código Nacional.

4.8.4. XML de ejemplo del parámetro de entrada InXml

<WS_RECAS_ConsultaDispensacionesFirmadas>
<RECAS_CIPPaciente>MRMR741128090999</RECAS_CIPPaciente>
</WS_RECAS_ConsultaDispensacionesFirmadas>

4.8.5. XML de ejemplo de la respuesta (strXMLOutput)

<WS_RECAS_RespuestaConsultaDispensacionesFirmadas>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_DispensacionFirmada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099980</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T07:23:45</RECAS_FechaHoraDispensacion>
<RECAS_FechaHoraFirma>2008-04-17T07:24:03</RECAS_FechaHoraFirma>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 59 -


<RECAS_CNMedicamento>762674</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>GELOCATIL 650 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>4</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 762674</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>747311</RECAS_CNMedicamentoDispensado>
<RECAS_IdMotivoSustitucion>1</RECAS_IdMotivoSustitucion>
</RECAS_DispensacionFirmada>
<RECAS_DispensacionFirmada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099981</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T07:23:45</RECAS_FechaHoraDispensacion>
<RECAS_FechaHoraFirma>2008-04-17T07:24:03</RECAS_FechaHoraFirma>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>700013</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>AAS 100 100 MG 20 COMPRIMIDOS</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>3</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 700013</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>700013</RECAS_CNMedicamentoDispensado>
</RECAS_DispensacionFirmada>
<RECAS_DispensacionFirmada>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_NombrePaciente>NOMBRE MRMR741128090998</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>APELLIDOS MRMR741128090998</RECAS_ApellidosPaciente>
<RECAS_EsRecetaManual>false</RECAS_EsRecetaManual>
<RECAS_IdSESCAM>J099982</RECAS_IdSESCAM>
<RECAS_IdDocFacturacion>Doc Facturacion</RECAS_IdDocFacturacion>
<RECAS_FechaHoraDispensacion>2008-04-17T07:23:45</RECAS_FechaHoraDispensacion>
<RECAS_FechaHoraFirma>2008-04-17T07:24:03</RECAS_FechaHoraFirma>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>2</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-16</RECAS_FechaReceta>
<RECAS_InicioPeriodoDispensacion>2008-04-16</RECAS_InicioPeriodoDispensacion>
<RECAS_FinPeriodoDispensacion>2008-05-06</RECAS_FinPeriodoDispensacion>
<RECAS_CNMedicamento>700278</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>ABRASONE CREMA 20 G.</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensados>2</RECAS_EnvasesDispensados>
<RECAS_Dosis>1</RECAS_Dosis>
<RECAS_UdMedidaDosis>UNIDAD</RECAS_UdMedidaDosis>
<RECAS_Frecuencia>24</RECAS_Frecuencia>
<RECAS_UdMedidaFrecuencia>HORAS</RECAS_UdMedidaFrecuencia>
<RECAS_CentroMedicoReceta>Hospital Provincial De La Misericordia</RECAS_CentroMedicoReceta>
<RECAS_MedicoReceta>Martin Sanchez, Juan Carlos</RECAS_MedicoReceta>
<RECAS_NumColegiadoReceta>13/02011-8</RECAS_NumColegiadoReceta>
<RECAS_CIASReceta>CIAS 13/02011-8</RECAS_CIASReceta>
<RECAS_Instrucciones>Instrucciones 700278</RECAS_Instrucciones>
<RECAS_CNMedicamentoDispensado>700278</RECAS_CNMedicamentoDispensado>
</RECAS_DispensacionFirmada>
</WS_RECAS_RespuestaConsultaDispensacionesFirmadas>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 60 -


4.8.6. Esquema de validación (.xsd) del parámetro de entrada InXml
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Consulta de las dispensaciones firmadas.</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_ConsultaDispensacionesFirmadas" type="TYPE_ConsultaDispensacionesFirmadas"/>
<xsd:complexType name="TYPE_ConsultaDispensacionesFirmadas">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_FechaInicio" type="xsd:date" minOccurs="0"/>
<xsd:element name="RECAS_FechaFin" type="xsd:date" minOccurs="0"/>
<xsd:element name="RECAS_IdDocFacturacion" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_EsRecetaManual" type="xsd:boolean" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.8.7. Esquema de validación (.xsd) de la respuesta strXMLOutput

<?xml version="1.0" encoding="utf-8" ?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">
Respuesta Consulta de Dispensaciones Firmadas.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaConsultaDispensacionesFirmadas"
type="TYPE_RespuestaConsultaDispensacionesFirmadas"/>
<xsd:complexType name="TYPE_RespuestaConsultaDispensacionesFirmadas">
<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_DispensacionFirmada" type="TYPE_DispensacionFirmada"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_DispensacionFirmada">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_NombrePaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ApellidosPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_EsRecetaManual" type="xsd:boolean" />
<xsd:choice>
<xsd:group ref="Group_RecetaSESCAM"/>
<xsd:group ref="Group_RecetaManual" />
</xsd:choice>
<xsd:element name="RECAS_CNMedicamentoDispensado" type="TYPE_ShortText"/>
<xsd:choice>
<xsd:element name="RECAS_IdMotivoSustitucion" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_EsCambioCodigo" type="xsd:boolean" minOccurs="0"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="Group_RecetaSESCAM">
<xsd:sequence>
<xsd:element name="RECAS_IdSESCAM" type="TYPE_ShortText" />
<xsd:element name="RECAS_IdDocFacturacion" type="TYPE_ShortText" minOccurs="0"/>
<xsd:element name="RECAS_FechaHoraDispensacion" type="xsd:dateTime" />
<xsd:element name="RECAS_FechaHoraFirma" type="xsd:dateTime" />
<xsd:element name="RECAS_TipoReceta" type="TYPE_TipoReceta" />
<xsd:element name="RECAS_RegimenPaciente" type="TYPE_ShortText" />

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 61 -


<xsd:element name="RECAS_FechaReceta" type="xsd:date"/>
<xsd:element name="RECAS_InicioPeriodoDispensacion" type="xsd:date" />
<xsd:element name="RECAS_FinPeriodoDispensacion" type="xsd:date" minOccurs="0"/>
<xsd:element name="RECAS_CNMedicamento" type="TYPE_ShortText" minOccurs="0"
maxOccurs="1" />
<xsd:element name="RECAS_DescripMedicamento" type="TYPE_ShortText" />
<xsd:element name="RECAS_EnvasesDispensados" type="xsd:positiveInteger" />
<xsd:element name="RECAS_Dosis" type="TYPE_ShortText" />
<xsd:element name="RECAS_UdMedidaDosis" type="TYPE_ShortText" />
<xsd:element name="RECAS_Frecuencia" type="TYPE_ShortText" />
<xsd:element name="RECAS_UdMedidaFrecuencia" type="TYPE_ShortText" />
<xsd:element name="RECAS_CentroMedicoReceta" type="TYPE_LongText"/>
<xsd:element name="RECAS_MedicoReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_NumColegiadoReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_CIASReceta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_Instrucciones" type="TYPE_LongText" minOccurs="0"
maxOccurs="1" />
<xsd:element name="RECAS_ComentarioFarmaceutico" type="TYPE_LongText" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
</xsd:group>

<xsd:group name="Group_RecetaManual">
<xsd:sequence>
<xsd:element name="RECAS_IdCCFCAM" type="TYPE_ShortText" />
<xsd:element name="RECAS_FechaHoraDispensacion" type="xsd:dateTime" />
<xsd:element name="RECAS_FechaHoraFirma" type="xsd:dateTime" />
<xsd:element name="RECAS_TipoReceta" type="TYPE_TipoReceta" />
<xsd:element name="RECAS_RegimenPaciente" type="TYPE_ShortText" />
<xsd:element name="RECAS_FechaReceta" type="xsd:date"/>
<xsd:element name="RECAS_CNMedicamento" type="TYPE_ShortText" minOccurs="0"
maxOccurs="1" />
<xsd:element name="RECAS_DescripMedicamento" type="TYPE_ShortText" />
<xsd:element name="RECAS_EnvasesDispensados" type="xsd:positiveInteger" />
<xsd:element name="RECAS_ComentarioFarmaceutico" type="TYPE_LongText" minOccurs="0"
maxOccurs="1" />
</xsd:sequence>
</xsd:group>
<xsd:simpleType name="TYPE_TipoReceta">
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.8.8. Estructura del mensaje SOAP de la llamada

A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.1. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO
</soap:Header>
<soap:Body>
<WS_RECAS_ConsultaDispensacionesFirmadas xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_ConsultaDispensacionesFirmadas>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 62 -


</soap:Body>
</soap:Envelope>

4.8.9. Estructura del mensaje SOAP de la respuesta


A continuación se muestra un ejemplo de respuesta SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_ConsultaDispensacionesFirmadasResponse xmlns="http://localhost/">

<WS_RECAS_ConsultaDispensacionesFirmadasResult>strXMLOutput</WS_RECAS_ConsultaD
ispensacionesFirmadasResult>
</WS_RECAS_ConsultaDispensacionesFirmadasResponse>
</soap:Body>
</soap:Envelope>

4.9. Confirmar Dispensación Manual.

Permite realizar la dispensación de una receta “manual”, es decir, de una receta que no se
encuentra en el Sistema de Receta Electrónica.

4.9.1. Nombre del método

string strXMLOuput WS_RECAS_ConfirmacionDispensacionesManuales (string InXML)

4.9.2. Información enviada (InXml)

• Información a nivel RECETA “MANUAL”: La información enviada, correspondiente a la receta


manual que se pretende dispensar, es la siguiente:

Campo Descripción
FechaHoraDispensacion Fecha y hora en la que se realizó la dispensación.
IdCCFCAM Identificador de la receta impreso en la misma.
CIPPaciente CIP del paciente a consultar.
NombrePaciente Nombre del paciente.
ApellidosPaciente Apellidos del paciente.
TipoReceta Tipo de receta: 0  Nombre comercial 1  Principio activo.
RegimenPaciente Identificador del régimen del paciente.
FechaReceta Fecha de creación de la receta.
CNMedicamento CN del medicamento recetado.
DescripMedicamento Descripción del medicamento recetado.
EnvasesDispensar Número de envases recetados.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 63 -


ComentarioFarmaceutico Comentarios del farmacéutico sobre la receta.
CNMedicamentoDispensado CN del medicamento dispensado.
IdMotivoSustitucion Identificador del motivo de la sustitución.
EsCambioCodigo Indica que se ha dispensado el mismo medicamento al prescrito
pero con diferente Código Nacional.

4.9.3. Información recibida.

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel RECETA MANUAL “A CONFIRMAR”: La información recibida, en la


confirmación de dispensación de una “receta manual”, en la siguiente:

Campo Descripción
IdCCFCAM Identificador CCFCAM de la receta.
IdResultadoDispManual Identificador del resultado de la dispensación de “receta manual”.
Ver “A.1.9 Tabla: Identificador Resultado Dispensacion Manual.”

4.9.4. XML de ejemplo del parámetro de entrada InXml

<WS_RECAS_ConfirmacionDispensacionesManuales>
<RECAS_DispensacionManual>
<RECAS_FechaHoraDispensacion>2008-04-17T11:30:43</RECAS_FechaHoraDispensacion>
<RECAS_IdCCFCAM>CCFCAM-08/4/158</RECAS_IdCCFCAM>
<RECAS_CIPPaciente>MRMR741128080990</RECAS_CIPPaciente>
<RECAS_NombrePaciente>Nombre Paciente</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>Apellidos Paciente</RECAS_ApellidosPaciente>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>0</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-17</RECAS_FechaReceta>
<RECAS_CNMedicamento>700013</RECAS_CNMedicamento>
<RECAS_DescripMedicamento>Descripción del medicamento</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensar>1</RECAS_EnvasesDispensar>
<RECAS_ComentarioFarmaceutico>Comentarios del farmacéutico</RECAS_ComentarioFarmaceutico>
<RECAS_CNMedicamentoDispensado>700013</RECAS_CNMedicamentoDispensado>
<RECAS_EsCambioCodigo>false</RECAS_EsCambioCodigo>
</RECAS_DispensacionManual>
<RECAS_DispensacionManual>
<RECAS_FechaHoraDispensacion>2008-04-17T11:30:43</RECAS_FechaHoraDispensacion>
<RECAS_IdCCFCAM>CCFCAM-08/4/159</RECAS_IdCCFCAM>
<RECAS_CIPPaciente>MRMR741128080990</RECAS_CIPPaciente>
<RECAS_NombrePaciente>Nombre Paciente</RECAS_NombrePaciente>
<RECAS_ApellidosPaciente>Apellidos Paciente</RECAS_ApellidosPaciente>
<RECAS_TipoReceta>0</RECAS_TipoReceta>
<RECAS_RegimenPaciente>0</RECAS_RegimenPaciente>
<RECAS_FechaReceta>2008-04-17</RECAS_FechaReceta>
<RECAS_CNMedicamento>700021</RECAS_CNMedicamento>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 64 -


<RECAS_DescripMedicamento>Descripción del medicamento</RECAS_DescripMedicamento>
<RECAS_EnvasesDispensar>1</RECAS_EnvasesDispensar>
<RECAS_ComentarioFarmaceutico>Comentarios del farmacéutico</RECAS_ComentarioFarmaceutico>
<RECAS_CNMedicamentoDispensado>700021</RECAS_CNMedicamentoDispensado>
<RECAS_EsCambioCodigo>false</RECAS_EsCambioCodigo>
</RECAS_DispensacionManual>
</WS_RECAS_ConfirmacionDispensacionesManuales>

4.9.5. XML de ejemplo de la respuesta (strXMLOutput)

<WS_RECAS_RespuestaConfirmacionDispensacionesManuales>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_ResultadoDispensacion>
<RECAS_IdCCFCAM>CCFCAM-08/4/158</RECAS_IdCCFCAM>
<RECAS_IdResultadoDispManual>0</RECAS_IdResultadoDispManual>
</RECAS_ResultadoDispensacion>
<RECAS_ResultadoDispensacion>
<RECAS_IdCCFCAM>CCFCAM-08/4/159</RECAS_IdCCFCAM>
<RECAS_IdResultadoDispManual>0</RECAS_IdResultadoDispManual>
</RECAS_ResultadoDispensacion>
</WS_RECAS_RespuestaConfirmacionDispensacionesManuales>

4.9.6. Esquema de validación (.xsd) del parámetro de entrada InXml

<?xml version="1.0" encoding="utf-8" ?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Confirmación de Dispensaciones Manuales. </xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_ConfirmacionDispensacionesManuales"
type="TYPE_ConfirmacionDispensacionesManuales"/>
<xsd:complexType name="TYPE_ConfirmacionDispensacionesManuales">
<xsd:sequence>
<xsd:element name="RECAS_DispensacionManual" type="TYPE_DispensacionManual"
minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_DispensacionManual">
<xsd:sequence>
<xsd:element name="RECAS_FechaHoraDispensacion" type="xsd:dateTime"/>
<xsd:element name="RECAS_IdCCFCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_NombrePaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ApellidosPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_TipoReceta" type="TYPE_TipoReceta" />
<xsd:element name="RECAS_RegimenPaciente" type="TYPE_ShortText" />
<xsd:element name="RECAS_FechaReceta" type="xsd:date"/>
<xsd:element name="RECAS_CNMedicamento" type="TYPE_ShortText"/>
<xsd:element name="RECAS_DescripMedicamento" type="TYPE_ShortText" />
<xsd:element name="RECAS_EnvasesDispensar" type="xsd:positiveInteger" />
<xsd:element name="RECAS_ComentarioFarmaceutico" type="TYPE_LongText"
minOccurs="0" maxOccurs="1"/>
<xsd:element name="RECAS_CNMedicamentoDispensado" type="TYPE_ShortText"/>
<xsd:choice minOccurs="0" maxOccurs="1">
<xsd:element name="RECAS_IdMotivoSustitucion" type="TYPE_ShortText"/>
<xsd:element name="RECAS_EsCambioCodigo" type="xsd:boolean"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_TipoReceta">
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 65 -


<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.9.7. Esquema de validación (.xsd) de la respuesta strXMLOutput


<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">
Respuesta Confirmación de Dispensaciones Manuales.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaConfirmacionDispensacionesManuales"
type="TYPE_RespuestaConfirmacionDispensacionesManuales"/>
<xsd:complexType name="TYPE_RespuestaConfirmacionDispensacionesManuales">
<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ResultadoDispensacion" type="TYPE_ResultadoDispensacion" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_ResultadoDispensacion">
<xsd:sequence>
<xsd:element name="RECAS_IdCCFCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdResultadoDispManual" type="TYPE_ShortText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.9.8. Estructura del mensaje SOAP de la llamada


A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.2. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO Y FIRMA DIGITAL
</soap:Header>
<soap:Body>
<WS_RECAS_ConfirmacionDispensacionesManuales xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_ConfirmacionDispensacionesManuales>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 66 -


4.9.9. Estructura del mensaje SOAP de la respuesta
A continuación se muestra un ejemplo de respuesta SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_ConfirmacionDispensacionesManualesResponse
xmlns="http://localhost/">
<WS_RECAS_ConfirmacionDispensacionesManualesResult>strXMLOutput</WS_RECAS_Confi
rmacionDispensacionesManualesResult>
</WS_RECAS_ConfirmacionDispensacionesManualesResponse>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 67 -


4.10. Anulación Dispensación Manual.

Permite anular una dispensación de una “receta manual/papel”.

4.10.1. Nombre del método

string strXMLOuput WS_RECAS_AnularDispensacionesManuales (string InXML)

4.10.2. Información enviada (InXml)

• Información a nivel PACIENTE:

Campo Descripción
CIPPaciente CIP del paciente a consultar.

• Información a nivel DISPENSACIONES MANUALES “A ANULAR”: La información enviada,


correspondiente a las receta dispensadas manualmente que se pretenden anular, es la siguiente:

Campo Descripción
IdCCFCAM Identificador CCFCAM de la receta manual a anular.
IdMotivoAnulacionManual Identificador del motivo de la anulación de la dispensación.

4.10.3. Información recibida

• Información a nivel “INVOCACIÓN DEL SERVICIO WEB”: La información recibida, indicando si ha


sido correcta la “invocación” del Servicio Web, es la siguiente:

Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"

• Información a nivel DISPENSACION MANUAL: La información recibida, por cada una de las recetas
dispensadas manualmente que se pretende anular, es la siguiente:

Campo Descripción
IdCCFCAM Identificador CCFCAM de la receta.
IdResultadoAnulacionManual Identificador del resultado de la anulación de la dispensacion
manual.
Ver “A.1.10 Tabla: Identificador Resultado Anulación Dispensacion
Manual.”

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 68 -


4.10.4. XML de ejemplo del parámetro de entrada InXml

<WS_RECAS_AnularDispensacionesManuales>
<RECAS_CIPPaciente>MRMR741128090998</RECAS_CIPPaciente>
<RECAS_DispensacionAnular>
<RECAS_IdCCFCAM>CCFCAM-08/4/157</RECAS_IdCCFCAM>
<RECAS_IdMotivoAnulacionManual>Id Motivo Anulacion Manual</RECAS_IdMotivoAnulacionManual>
</RECAS_DispensacionAnular>
</WS_RECAS_AnularDispensacionesManuales>

4.10.5. XML de ejemplo de la respuesta (strXMLOutput)

<WS_RECAS_RespuestaAnularDispensacionesManuales>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_ResultadoAnulacion>
<RECAS_IdCCFCAM>CCFCAM-08/4/157</RECAS_IdCCFCAM>
<RECAS_IdResultadoAnulacionManual>0</RECAS_IdResultadoAnulacionManual>
</RECAS_ResultadoAnulacion>
</WS_RECAS_RespuestaAnularDispensacionesManuales>

4.10.6. Esquema de validación (.xsd) del parámetro de entrada InXml


<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Anular Dispensaciones Manuales.</xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_AnularDispensacionesManuales" type="TYPE_AnularDispensacionesManuales"/>
<xsd:complexType name="TYPE_AnularDispensacionesManuales">
<xsd:sequence>
<xsd:element name="RECAS_CIPPaciente" type="TYPE_ShortText"/>
<xsd:element name="RECAS_DispensacionAnular" type="TYPE_Dispensacion"
minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_Dispensacion">
<xsd:sequence>
<xsd:element name="RECAS_IdCCFCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdMotivoAnulacionManual" type="TYPE_ShortText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.10.7. Esquema de validación (.xsd) de la respuesta strXMLOutput


<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="es">Respuesta Anular Dispensaciones Manuales. </xsd:documentation>
</xsd:annotation>
<xsd:element name="WS_RECAS_RespuestaAnularDispensacionesManuales"
type="TYPE_RespuestaAnularDispensacionesManuales"/>
<xsd:complexType name="TYPE_RespuestaAnularDispensacionesManuales">

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 69 -


<xsd:sequence>
<xsd:element name="RECAS_TipoRespuesta" type="TYPE_ShortText"/>
<xsd:element name="RECAS_ResultadoAnulacion" type="TYPE_ResultadoAnulacion"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TYPE_ResultadoAnulacion">
<xsd:sequence>
<xsd:element name="RECAS_IdCCFCAM" type="TYPE_ShortText"/>
<xsd:element name="RECAS_IdResultadoAnulacionManual" type="TYPE_ShortText"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="TYPE_ShortText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TYPE_LongText">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="1000" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

4.10.8. Estructura del mensaje SOAP de la llamada


A continuación se muestra un ejemplo de solicitud SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
B.2. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO Y FIRMA DIGITAL
</soap:Header>
<soap:Body>
<WS_RECAS_AnularDispensacionesManuales xmlns="http://localhost/">
<InXml>InXml</InXml>
</WS_RECAS_AnularDispensacionesManuales>
</soap:Body>
</soap:Envelope>

4.10.9. Estructura del mensaje SOAP de la respuesta

A continuación se muestra un ejemplo de respuesta SOAP:

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WS_RECAS_AnularDispensacionesManualesResponse xmlns="http://localhost/">
<WS_RECAS_AnularDispensacionesManualesResult>strXMLOutput</WS_RECAS_AnularDispe
nsacionesManualesResult>
</WS_RECAS_AnularDispensacionesManualesResponse>
</soap:Body>
</soap:Envelope>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 70 -


5. LIBRERÍA CLIENTE DE COMUNICACIONES “APICOM”

Como se ha descrito anteriormente, la interfaz de comunicación ApiCom.dll facilita a los


SGOF la comunicación con CCFCAM, encargándose de gestionar la seguridad en las
llamadas a los servicios Web.

5.1. Requerimientos de la plataforma cliente para el uso de APICOM

Los requisitos del sistema para la utilización de la interfaz de comunicación (APICOM) son:

Plataforma Windows (W98 / W2K / WXP)

Microsoft .Net Framework v2.0

5.2. Instalación de APICOM

Para utilizar APICOM, sólo se debe agregar la referencia a la librería APICOM.dll.


Si el entorno de programación que se utilizará, es un entorno COM (es decir que no es un
entorno de desarrollo .NET, como puede ser Visual Basic o Delphi), entonces se deberán
registrar los tipos en el registro del sistema.

Para registrar la librería en el registro del sistema, ejecutar el fichero RegistrarCOM.bat. Si se


desea desregistrar la librería, ejecutar el fichero DesregistrarCOM.bat. El código de los ficheros
se muestra a continuación:

RegistrarCOM.bat:
regasm /tlb:ApiCom.tlb ApiCom.dll
pause

DesregistrarCOM.bat:
regasm /tlb:ApiCom.tlb ApiCom.dll /unregister
pause

5.3. Dependencias de APICOM

Para su correcto funcionamiento, el módulo APICOM requiere de los siguientes ficheros:

ApiCom.dll
Módulo o aplicación de comunicaciones.

Microsoft.Web.Services3.dll
Fichero de extensiones de seguridad de Microsoft.

Interop.CAPICOM.dll
Pasarella de Microsoft para acceder al repositorio de certificados.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 71 -


ApiCom.XmlSerializers.dll
Módulo complementario de Apicom.dll

ApiCom.xml (lo crea automáticamente ApiCom.dll)


Fichero de configuración de APICOM.

SafeSign-Identity-Client-2.3.2-user.exe
Software necesario para acceder a físicamente a Certificados RECAS de Colegiados
Farmacéuticos. Sin este software, el sistema desconoce la estructura que contiene los
certificados, dentro de la tarjeta. (durante la instalación debe seleccionar el idioma, y luego
continuar con las opciones por defecto del instalador).

5.4. Fichero de parámetros de APICOM

El módulo utiliza un archivo llamado ApiCom.xml, donde almacena parámetros de configuración


para su funcionamiento. Este archivo se creará automáticamente en caso de no existir, con los
valores por defecto que se muestran a continuación. Los parámetros sombreados en verde, son
modificables programáticamente (mediante tres propiedades y un método del objeto explicados
en el punto "5.5 Especificación de propiedades y métodos para configuración de APICOM")
desde la aplicación que utilice ApiCom. Bajo condiciones normales este fichero no deberá
manipularse manualmente.

La ubicación del fichero será la misma que la ubicación del fichero ApiCom.dll. A continuación se
muestra el contenido del fichero ApiCom.xml:

<Configuracion>
<appSettings>
<add key="UrlServer" value="http://cofcam.consoft.es " />
<add key="ValidarRespuestaServer" value="0" />
<add key="ThumbprintServerCertificate" value="" />
<add key="ReqUsernameToken" value="1" />
<add key="UtilizarCertificados" value="1" />
<add key="DefaultSystemStore" value="0" />
<add key="CertifAuto" value="1" />
<add key="CNCertifAuthority" value="CN=AC Firmaprofesional - CA1" />
<add key="ExtensionName" value="Bases del certificado/Identificador de directiva=" />
<add key="MultiplesCertificados" value="0" />
<add key="OidCertifColegiado" value="1.3.6.1.4.1.13177.10.1.1.1" />
<add key="OidCertifVinculado" value="1.3.6.1.4.1.13177.10.1.2.1" />
<add key="UseLastCert" value="0" />
</appSettings>
<Usuarios>
<Usuario UserName="USUARIO5" Hash=""
HashColegiado="9576ba11ed3a13bc061637add8b3c75c3bde8898" />
</Usuarios>
</Configuracion>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 72 -


A continuación se detallan la funcionalidad y comportamiento de los parámetros sujetos a
modificación de ApiCom (los valores del resto de parámetros no deben modificarse):

UrlServer
Especifica la dirección del servidor donde están publicados los Servicios Web del Sistema
Central (CCFCAM).

DefaultSystemStore
Indica el repositorio donde buscar el certificado de Farmacéutico. Si el valor es 1, ApiCom
utilizará como repositorio, el repositorio de certificados de la maquina. Si el valor es 0,
ApiCom utilizará como repositorio, el lector de tarjetas.
Para cambiar el parámetro programáticamente, debe establecer valor verdadero o falso a
la propiedad DefaultSystemStore de ApiCom (Ver mas información en el apartado "5.5
Especificación de propiedades y métodos para configuración de APICOM")

CertifAuto (se aplica sólo si DefaultSystemStore tiene valor 1)


Indica la selección automática del certificado de Farmacéutico en base a los campos internos
de los certificados instalados en la máquina. Utiliza para ello, los parámetros
CNCertifAuthority, ExtensionName, OidCertifColegiado y OidCertifVinculado.
Si el valor es 1, ApiCom seleccionará automáticamente el certificado de Farmacéutico entre
todos los instalados en el sistema. (es decir, filtra dentro de todos los certificados del
repositorio del sistema, aquellos que cumplan los atributos que definen a un certificado de
Farmacéutico) De no encontrarlo, ApiCom abrirá una ventana de selección de certificado.
Para cambiar el parámetro programáticamente, debe establecer valor verdadero o falso a
la propiedad CertifAuto de ApiCom (Ver mas información en el apartado "5.5 Especificación
de propiedades y métodos para configuración de APICOM")

CNCertifAuthority (se aplica sólo si DefaultSystemStore tiene valor 1 y CertifAuto tiene


valor 1)
Representa el nombre de la entidad certificadora para buscar sus certificados emitidos.

ExtensionName (se aplica sólo si DefaultSystemStore tiene valor 1 y CertifAuto tiene


valor 1)
Representa el nombre y subnombre de la extensión donde buscar el OID del certificado para
identificar su propósito.

OidCertifColegiado(se aplica sólo si DefaultSystemStore tiene valor 1 y CertifAuto


tiene valor 1)
Representa el OID de todos los certificados emitidos para personas colegiadas.

OidCertifVinculado (se aplica sólo si DefaultSystemStore tiene valor 1 y CertifAuto


tiene valor 1)
Representa el OID de todos los certificados emitidos para personas vinculadas.

UseLastCert (se aplica sólo si DefaultSystemStore tiene valor 1 y si certifAuto tiene


valor 0)
Representa el modo de funcionamiento de último certificado seleccionado para el usuario.
Si tiene valor 0, ApiCom abrirá una ventana de selección de certificado cada vez que se
requiera un certificado en la petición. ApiCom guardará automáticamente el
identificador (huella digital) del certificado utilizado por cada usuario que realiza una
llamada, a fin de reutilizarlo en la próxima llamada y no solicitarlo nuevamente mediante

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 73 -


ventana. ApiCom almacena esta relación de usuario y certificado dentro del elemento
<Usuarios></Usuarios> del fichero de configuración. Para cambiar el certificado asociado
a un usuario programáticamente, debe ejecutar el método SetIdCertificadoColegiado de
ApiCom (Ver mas información en el apartado "5.5 Especificación de propiedades y métodos
para configuración de APICOM")

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 74 -


5.5. Especificación de propiedades y métodos para configuración de APICOM

ApiCom posee tres propiedades y un método que permiten configurar el comportamiento de


búsqueda del certificado del Colegiado Farmacéutico en el sistema. (por ejemplo, es posible
configurar si se desea forzar a utilizar el certificado introducido en el lector o bien, mostrar una
ventana con todos los certificados instalados en la máquina para que el usuario lo seleccione).

El comportamiento de la configuración seleccionada, está detallado en el punto anterior "5.4.


Fichero de parámetros de APICOM".
A continuación se muestra la sintaxis de las propiedades y métodos de configuración:

CertifAuto
Propiedad de tipo Bool

DefaultSystemStore
Propiedad de tipo Bool

UseLastCertif
Propiedad de tipo Bool

SetIdCertificadoColegiado(string usuario, string thumbPrint)


Método (sin respuesta) Se utiliza para asociar el certificado a utilizar por el usuario
especificado. Solo tiene aplicación si DefautlSystemStore es verdadero.
Nota: El atributo thumbPrint o Huella digital, es el identificador único de un certificado digital.
Se solicita el thumbPrint, ya que con este atributo, ApiCom podrá identificar el certificado
indicado, entre todos los certificados del sistema. El thumbPrint se debe pasar sin espacios y
en mayúsculas. Ejemplo de thumbPrint del certificado de la imagen a continuación:
69146E1422079B59B7BFBED1E17F811F012A4114

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 75 -


5.6. Especificación de métodos para llamadas a servicios web de APICOM

Los métodos a invocar tienen la siguiente sintaxis:

int nombreMetodo (string usuario, string clave, string inXml, string ref outXml)

Donde, nombre método puede ser:

ConsultaDispensacionesPendientes

ConfirmarDispensacionesPendientes (*1)

ConsultaDispensacionesRealizadas

AnularDispensacionesRealizadas

ConsultaAnulacionesRealizadas

EnvioAlertaDispensacion

FirmarDispensaciones

ConsultaDispensacionesFirmadas

ConfirmarDispensacionesManuales (*1)

AnularDispensacionesManuales

(1*) añaden un parámetro buleano que especifica si la dispensación requiere firma digital. (para
el caso que exista sustitución es requerida la firma del Farmacéutico).
La sintaxis entonces es la siguiente:

Int nombreMetodo (string usuario, string clave, string clave, bool reqFirma, string inXml,
string ref outXml)

5.6.1. Parámetros de entrada

Los parámetros de entrada son los siguientes:

usuario
Nombre de usuario

clave
Clave o contraseña del usuario

inXml
Parámetro XML de entrada del Servicio Web (Ver la especificación del parámetro de entrada
InXml y su validación, en el apartado "4. SERVICIOS WEB DEL SISTEMA DE RECETA
ELECTRÓNICA".

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 76 -


outXml
Respuesta XML del Servicio Web (Ver la especificación del parámetro de salida
strXMLOuput y su validación, en el apartado "4. SERVICIOS WEB DEL SISTEMA DE
RECETA ELECTRÓNICA". Este parámetro OutXml se debe pasar por referencia. (es
decir que al finalizar la llamada, el parámetro contiene la información devuelta por el método)

reqFirma
Indica a ApiCom que la dispensación debe ser firmada por el Farmacéutico. (caso en el que
se sustituye el medicamento a dispensar)

5.6.2. Valor entero de retorno

El valor entero (int) de retorno es común a todos los métodos y es el siguiente:

0: Ejecución correcta
-1: Certificado digital del colegiado no encontrado
-2: Error cargando el certificado de colegiado
-3: Servicio Web no disponible o problemas de conexión
-4: Usuario o clave vacíos

Nota: Cuando el resultado del método sea distinto de 0 (es decir, se ha producido un error), el
valor del parámetro de salida outXml será string vacío.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 77 -


5.7. Modo de uso de APICOM

Una vez agregada a su proyecto de desarrollo la referencia a la librería ApiCom.dll (Ver apartado
“5.2. Instalación de APICOM”), se debe crear un objeto del tipo “ApiCom.Funciones”.

A modo de ejemplo, se adjunta en la documentación, un programa realizado en Visual Basic


6.0., el cual utiliza todos los métodos y propiedades de la librería.

A continuación se muestra la pantalla del programa:

A continuación se muestra el código fuente del programa:

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 78 -


RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 79 -
RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 80 -
RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 81 -
RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 82 -
5.8. Registro de Errores de APICOM

APICOM mantiene un registro de errores en el registro de sucesos de Windows, permitiendo


supervisar los errores ocasionados durante el desarrollo de la integración del Sistema de Gestión
de la Oficina de Farmacia (SGOF) con el Sistema Central (CCFCAM).

Si la respuesta del método invocado por APICOM no devuelve un 0 (que significa


ejecución correcta) y desea más información, consulte el visor de sucesos.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 83 -


ANEXO A. TABLAS DEL SISTEMA DE RECETA ELECTRÓNICA

A.1.1. Tabla: Tipo de Respuesta de los servicios web

A continuación se describen los posibles valores devueltos en el parámetro


RECAS_TipoRespuesta que se adjunta en todas las respuestas de los servicios de
dispensación.

Codigo Descripción
SESCAM_EXE_000 Ejecución correcta del método
CCFCAM_USR_001 Usuario o contraseña no válidos
CCFCAM_USR_002 Cuenta de usuario deshabilitada
CCFCAM_USR_003 Certificado no válido o inexistente
CCFCAM_USR_004 Certificado deshabilitado
CCFCAM_USR_005 No se encuentra el certificado en la petición
CCFCAM_USR_006 Petición no firmada o firma incorrecta
CCFCAM_USR_007 Formato del parámetro XmlInput inválido (no cumple el esquema .xsd)
CCFCAM_USR_008 Cuenta de usuario con permisos insuficientes
SESCAM_GLOBAL_001 CIP inexistente
SESCAM_GLOBAL_003 Error inesperado del sistema SESCAM
CCFCAM_INT_001 Error inesperado del sistema

Nota: Si no se produce ningún error, todos los métodos devolverán el tipo de respuesta
“SESCAM_EXE_000”.

A.1.2. Tabla: Régimen del Paciente.


La información siguiente hace referencia a los campos “RegimenPaciente”.

RegimenPaciente Descripcion
00 DESCONOCIDO
2 GENERAL TITULAR NORMAL
3 GENERAL BENEFICIARIO AGRARIO
4 GENERAL TITULAR SIN RECURSOS
5 PENSIONISTA TITULAR NORMAL
6 PENSIONISTA BENEF. NORMAL

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 84 -


7 PENSIONISTA TITULAR AGRARIO
8 PENSIONISTA BENEF. AGRARIO
9 FARM. GRAT. TIT. SIN REC.
10 FARM. GRAT. TIT. MINUSVALIDO
11 MUFACE TITULAR NORMAL
12 MUFACE BENEFICIARIO NORMAL
13 EMP. COLAB. TIT. NORMAL
14 EMP. COLAB. BENEF. NORMAL
15 EMP. COLAB. TIT. PENSIONISTA
16 EMP. COLAB. BENEF. PENSIONISTA
17 SIND. TOXICO TITULAR NORMAL
18 SIND. TOXICO BENEF. NORMAL
19 MENOR TITULAR EXTRANJERO
20 SIND. TOXICO BENEF. PENSIONIST
21 GENERAL BENEFICIARIO NORMAL
22 GENERAL TITULAR AGRARIO
23 MUGEJU TITULAR NORMAL
24 MUGEJU BENEFICIARIO NORMAL
25 ISFAS GRUPO A TITULAR NORMAL
26 ISFAS GRUPO F BENEFICIARIO NOR
27 ISFAS GRUPO C TITULAR NORMAL
28 ISFAS GRUPO C BENEFICIARIO NOR
29 ISFAS GRUPO F TITULAR NORMAL
30 ISFAS GRUPO A BENEFICIARIO NOR
31 OBJETOR BENEFICIARIO NORMAL
32 OBJETOR TITULAR NORMAL
33 SIND.TOXI.TITULAR PENSIONISTA
34 EXTRANJERO TIT. SIN RECURSOS
35 EXTR. TIT. SIN RECUR. FARM. GR

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 85 -


A.1.3. Tabla: Motivo Sustitución.
La información siguiente hace referencia al campo “IdMotivoSustitución”.

IdMotivoSustitucion Descripción
1 Sustitución excepcional por desabastecimiento del mercado.
2 Sustitución excepcional por urgente necesidad.
3 Prescripción por principio activo.

A.1.4. Tabla: Identificador Resultado Dispensación.


La información siguiente hace referencia al campo “IdResultadoDispensacion”.

IdResultadoDispensacion Descripción
0 Dispensación aceptada/valida.
1 Principio activo no sustituible.
2 Principio activo diferente del prescrito.
3 Dosis diferente a la prescrita.
4 Tamaño de envase diferente al prescrito.
5 Forma farmacéutica diferente a la prescrita.
6 Precio superior al precio menor (solo aplicable a recetas por
principio activo).
7 Paciente con medicación suficiente para más de “x” días. Esta
opción de no aceptación de la dispensación, está relacionada con
el motivo de sustitución ‘Sustitución excepcional por urgente
necesidad”, si se intenta utilizar este motivo de sustitución y se
detecta que el paciente tiene medicación para mas de “x” días.
8 Medicamento legalmente no sustituible.
9 Código Nacional no coincidente.
10 Código Nacional desconocido.
11 La receta no existe.
12 La receta ya ha sido dispensada.

A.1.5. Tabla: Motivo Anulación.


La información siguiente hace referencia al campo “IdMotivoAnulacion”.

IdMotivoAnulación Descripción
1 Error en la dispensación. El paciente no ha solicitado la
medicación dispensada. Habrá un parámetro configurable que
determine el tiempo que se permite este motivo de anulación
después de la dispensación (en principio se considera 1 hora).
2 Error en la identificación del medicamento.
3 Error en el número de envases.
4 Error en la identificación del paciente.
5 Anulación de una sustitución efectuada.
6 Por indicación del médico prescriptor.
7 Devolución por el paciente.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 86 -


A.1.6. Tabla: Identificador Resultado Anulación.
La información siguiente hace referencia al campo “IdResultadoAnulacion”.

IdResultadoAnulación Descripción
0 Anulación aceptada/valida.
1 Dispensación inexistente.
2 Caducada o fuera de plazo.
3 Firmada administrativamente.

A.1.7. Tabla: Identificador Resultado Alerta.


La información siguiente hace referencia al campo “IdResultadoAlerta”.

IdResultadoAlerta Descripción
0 Alerta aceptada/valida.
1 Alerta no aceptada.

A.1.8. Tabla: Identificador Resultado Firma Administrativa.


La información siguiente hace referencia al campo “IdResultadoFirma”.

IdResultadoFirma Descripción
0 Firma aceptada/valida.
1 Firma no aceptada.

A.1.9. Tabla: Identificador Resultado Dispensacion Manual.


La información siguiente hace referencia al campo “IdResultadoDispManual”.

IdResultadoDispManual Descripción
0 Dispensación receta manual aceptada/valida.
1 Dispensación receta manual no aceptada.

A.1.10. Tabla: Identificador Resultado Anulación Dispensacion Manual.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 87 -


La información siguiente hace referencia al campo “IdResultadoAnulacionManual”.

IdResultadoAnulacionManual Descripción
0 Anulación receta manual aceptada/valida.
1 Anulación receta manual no aceptada.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 88 -


ANEXO B. ESTRUCTURA CABECERAS DE PETICIONES/RESPUESTAS SOAP

Para dotar a las peticiones de información de seguridad, se añade a la cabecera el bloque


<wsse:Security>, consiguiendo de esta forma, un intercambio de mensajes SOAP seguros.

La especificación del bloque <wsse:Security>, es un estándar y se puede encontrar en el


siguiente enlace:

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf

A continuación, se detallan las configuraciones de las posibles cabeceras de las


peticiones/respuestas.

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 89 -


B.1. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO
<soap:Header>
<wsa:Action>http://tempuri.org/WS_RECAS_ConsultaDispensacionesPendientes</wsa:Action>
<wsa:MessageID>urn:uuid:8b81d3c1-d17d-4db0-84b9-8f42b2b1f9a4</wsa:MessageID>
<wsa:ReplyTo>
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:To>http://www.ccfcam.com/Sescam.asmx</wsa:To>
<wsse:Security soap:mustUnderstand="1">
<wsu:Timestamp wsu:Id="Timestamp-cfc5d15b-9ceb-41d2-9fb9-af636042190b">
<wsu:Created>2007-01-15T09:21:26Z</wsu:Created>
<wsu:Expires>2007-01-15T09:26:26Z</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-
1.0.xsd"
wsu:Id="SecurityToken-87446c23-839e-4de9-86fa-fa72c843dc33">
<wsse:Username>Felix</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-
token-profile-1.0#PasswordDigest"> EIC4C04Cih8SZbdjakLzUPFGsMs=
</wsse:Password>
<wsse:Nonce>RSlB6kVtdj7jzxKjis7hqA==</wsse:Nonce>
<wsu:Created>2007-01-15T09:21:26Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
B.2. CABECERA DE UNA PETICIÓN CON CUENTA DE USUARIO Y FIRMA DIGITAL
<soap:Header>
<wsa:Action wsu:Id="Id-ea2f6f77-39bb-4280-b920-
74a95fe00b0d">http://tempuri.org/WS_RECAS_ConfirmacionDispensacionesPendientes</wsa:Action>
<wsa:MessageID wsu:Id="Id-6f03b0c2-2ca1-43a9-a94b-066a2887716a">urn:uuid:ad45c216-34cb-4018-
bab9-2f70a098be41</wsa:MessageID>
<wsa:ReplyTo wsu:Id="Id-5d037a44-854e-452d-b59b-e891c7011190">
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:To wsu:Id="Id-1c96bd34-3d88-4d7c-af1c-
bb5d281cae7a">http://localhost:1678/WebService20/Sescam.asmx</wsa:To>
<wsse:Security soap:mustUnderstand="1">
<wsu:Timestamp wsu:Id="Timestamp-e2093b97-dfae-40b7-a162-594c2c765cc8">
<wsu:Created>2007-01-15T09:21:26Z</wsu:Created>
<wsu:Expires>2007-01-15T09:26:26Z</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-
1.0.xsd"
wsu:Id="SecurityToken-81708ee1-205a-4b59-ba32-71248a5cbc23">
<wsse:Username>Felix</wsse:Username>
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-
1.0#PasswordDigest">
oHHaQiwdDKUjuw4uPxed/x2+Nh4=
</wsse:Password>
<wsse:Nonce>IEqb61gdsX8O0f1a60jq3A==</wsse:Nonce>
<wsu:Created>2007-01-15T09:21:26Z</wsu:Created>
</wsse:UsernameToken>
<wsse:BinarySecurityToken
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-
1.0#X509v3"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-
security-1.0#Base64Binary"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-
1.0.xsd"
wsu:Id="SecurityToken-6d416889-f59b-4646-9f98-0daba49c077f">
MIIGDDCCBPSgAwIBAgIKH4TXagABAAAADjANBgkqhkiG9w0BAQUFADBCMRIw
(...)
BVfl1/ccDvGwKoIasQ/5DD8tnnWhsA==
</wsse:BinarySecurityToken>
</wsse:Security>
</soap:Header>

RECETA ELECTRÓNICA CASTILLA-LA MANCHA - 91 -

Você também pode gostar