Escolar Documentos
Profissional Documentos
Cultura Documentos
CASTILLA-LA MANCHA
Í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
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)
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:
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.
NIVEL DE SEGURIDAD
Autentificación Autentificacion con
SERVICIO WEB con Usuario y Firma/Certificado de
contraseña Farmacéutico
Firmar Administrativamente
Dispensaciones
Consulta Dispensaciones Firmadas
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.
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.
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
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”.
INTERNET
CERTIFICADO
SISTEMA CENTRAL
SISTEMA DE CONSEJO DE
GESTIÓN COLEGIOS OFICIALES DE
OFICINA DE FARMACEUTICOS DE
FARMACIA CASTILLA-LA MANCHA
(SGOF) (CCFCAM)
La estructura de todas las peticiones a los servicios web deberá cumplir el siguiente esquema:
Signature
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):
<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>
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>
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.
<SignedData>
<XmlInput id="XmlInput">Xml de entrada</XmlInput>
</SignedData>
Campo Descripción
CIPPaciente CIP del paciente a consultar.
Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"
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.
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
Campo Descripción
CIPPaciente CIP del paciente a consultar.
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
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.”
<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>
<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>
Permite conocer las dispensaciones realizadas a un paciente desde una oficina de farmacia.
Campo Descripción
CIPPaciente CIP del paciente a consultar.
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”).
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.
<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>
</xsd:sequence>
</xsd:complexType>
<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>
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.”
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.”
<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>
<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>
Campo Descripción
CIPPaciente CIP del paciente.
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”).
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
<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>
<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>
<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>
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.
Campo Descripción
CIPPaciente CIP del paciente.
Campo Descripción
IdSESCAM Identificador SESCAM de la receta.
GradoAlerta Grado de la alerta. Valores posibles: 0: Normal || 1: Urgente
MensajeAlerta Mensaje de alerta.
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.”
<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>
<WS_RECAS_RespuestaEnvioAlertaDispensacion>
<RECAS_TipoRespuesta>SESCAM_EXE_000</RECAS_TipoRespuesta>
<RECAS_IdResultadoAlerta>0</RECAS_IdResultadoAlerta>
</WS_RECAS_RespuestaEnvioAlertaDispensacion>
Campo Descripción
IdSESCAM Identificador SESCAM de la receta.
IdCCFCAM Identificador CCFCAM de la receta/dispesnacion manual a firmar.
Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"
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.”
<WS_RECAS_FirmarDispensaciones>
<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>
<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>
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”).
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
<WS_RECAS_ConsultaDispensacionesFirmadas>
<RECAS_CIPPaciente>MRMR741128090999</RECAS_CIPPaciente>
</WS_RECAS_ConsultaDispensacionesFirmadas>
<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>
<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>
<WS_RECAS_ConsultaDispensacionesFirmadasResult>strXMLOutput</WS_RECAS_ConsultaD
ispensacionesFirmadasResult>
</WS_RECAS_ConsultaDispensacionesFirmadasResponse>
</soap:Body>
</soap:Envelope>
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.
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.
Campo Descripción
TipoRespuesta Tipo de respuesta del método.
Ver “A.1.1. Tabla: Tipo de Respuesta de los servicios web"
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.”
<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>
<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>
Campo Descripción
CIPPaciente CIP del paciente a consultar.
Campo Descripción
IdCCFCAM Identificador CCFCAM de la receta manual a anular.
IdMotivoAnulacionManual Identificador del motivo de la anulación de la dispensación.
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.”
<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>
<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>
Los requisitos del sistema para la utilización de la interfaz de comunicación (APICOM) son:
RegistrarCOM.bat:
regasm /tlb:ApiCom.tlb ApiCom.dll
pause
DesregistrarCOM.bat:
regasm /tlb:ApiCom.tlb ApiCom.dll /unregister
pause
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.
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).
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>
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
Propiedad de tipo Bool
DefaultSystemStore
Propiedad de tipo Bool
UseLastCertif
Propiedad de tipo Bool
int nombreMetodo (string usuario, string clave, string inXml, string ref outXml)
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)
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".
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)
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.
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”.
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”.
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
IdMotivoSustitucion Descripción
1 Sustitución excepcional por desabastecimiento del mercado.
2 Sustitución excepcional por urgente necesidad.
3 Prescripción por principio activo.
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.
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.
IdResultadoAnulación Descripción
0 Anulación aceptada/valida.
1 Dispensación inexistente.
2 Caducada o fuera de plazo.
3 Firmada administrativamente.
IdResultadoAlerta Descripción
0 Alerta aceptada/valida.
1 Alerta no aceptada.
IdResultadoFirma Descripción
0 Firma aceptada/valida.
1 Firma no aceptada.
IdResultadoDispManual Descripción
0 Dispensación receta manual aceptada/valida.
1 Dispensación receta manual no aceptada.
IdResultadoAnulacionManual Descripción
0 Anulación receta manual aceptada/valida.
1 Anulación receta manual no aceptada.
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf