Especificação Técnica ACSS ET.ACSS 20:2011 Base de Dados Nacional de Prescrições Especificação da interface para recepção de receitas médicas ICS 35.240.80 DESCRITORES Informática médica; software; especificação técnica; sistema de saúde; serviço de saúde; Serviço Nacional de Saúde; documento electrónico; comunicação de dados; dados médicos; base de dados; registo de dados; sistema de informação Data de Aprovação pela ACSS 2011-01-19 ELABORAÇÃO UONCSTI EDIÇÃO Janeiro de 2011 PREÇO ACSS reprodução proibida
Índice PREÂMBULO... 4 1 OBJECTIVO E CAMPO DE APLICAÇÃO... 5 2 REFERÊNCIAS... 6 2.1 REFERÊNCIAS LEGAIS... 6 2.2 REFERÊNCIAS NORMATIVAS... 6 2.3 REFERÊNCIAS BIBLIOGRÁFICAS... 6 3 ACRÓNIMOS, TERMOS E DEFINIÇÕES... 7 3.1 ACRÓNIMOS... 7 4 ESPECIFICAÇÃO FUNCIONAL... 8 4.1 REQUISITOS DE UTILIZAÇÃO DO SERVIÇO... 8 4.2 RETORNO DO SERVIÇO... 8 4.3 FLUXO DE EXECUÇÃO... 9 4.4 MODELO DE COMUNICAÇÃO... 10 4.4.1 Parâmetros de Entrada... 10 4.4.1.1 ListaReceitasBody... 10 4.4.2 Retorno... 10 4.4.2.1 ListaReceitasBodyOutput... 10 4.4.2.2 ReceitaBodyOutput... 10 4.4.3 Falhas... 11 4.5 REGRAS E VALIDAÇÕES... 11 4.6 ENTIDADES FINANCEIRAS RESPONSÁVEIS, PARA EFEITOS DE COMPARTICIPAÇÃO DE MEDICAMENTOS... 14 4.6.1 Entidades nacionais... 14 4.6.1 Entidades estrangeiras... 15 4.6.1.1 EEE, Suíça e Andorra (parcialmente)... 15 4.6.1.2 Outros imigrantes... 15 5. ESPECIFICAÇÃO TÉCNICA... 16 5.1 OPERAÇÕES EXPOSTAS... 16 5.1.1 initiateasync... 16 5.1.1.1 Mensagens de Pedido (Input)... 16 5.1.1.2 Mensagens de Resposta (Output)... 16 5.1.1.3 Mensagens de Falha (Fault)... 16 5.1.2 initiatesync... 16 5.1.2.1 Mensagens de Pedido (Input)... 16 5.1.2.2 Mensagens de Resposta (Output)... 17 5.1.2.3 Mensagens de Falha (Fault)... 17 5.2 MENSAGENS DE RETORNO... 17 5.2.1 Estados e mensagens... 17 5.2.2 Reenvio de mensagens... 19 5.3 INFORMAÇÃO OPERACIONAL... 19 5.3.1 Endpoints... 19 5.3.2 WSDL... 19 5.3.3 Timeout... 20 5.3.4 Segurança... 20 5.4 ESTRUTURAS DE DADOS... 20 5.4.1 RegistoPrescricaoMedicamentosProcessRequestType... 20 Página 2 de 31
5.4.2 RegistoPrescricaoMedicamentosMessageBody... 20 5.4.3 ListaReceitasBody... 20 5.4.4 RegistoPrescricaoMedicamentosProcessResponseType... 21 5.4.5 RegistoPrescricaoMedicamentosMessageBodyOutput... 21 5.4.6 ListaReceitasBodyOutput... 21 5.4.7 ReceitaBodyOutput... 21 5.5 REPRESENTAÇÃO GRÁFICA DAS ESTRUTURAS DE DADOS... 22 5.5.1 RegistoPrescricaoMedicamentosProcessRequestType... 22 5.5.2 RegistoPrescricaoMedicamentosMessageBody... 22 5.5.3 ListaReceitasBody... 22 5.5.4 RegistoPrescricaoMedicamentosProcessResponseType... 22 5.5.5 RegistoPrescricaoMedicamentosMessageBodyOutput... 22 5.5.6 ListaReceitasBodyOutput... 23 5.5.7 ReceitaBodyOutput... 23 5.6 XML SCHEMA DEFINITION... 23 5.7 EXEMPLOS DE INVOCAÇÃO... 25 5.7.1 Anulação de receita... 25 5.7.2 Registo de receita... 27 5.7.3 Registo de receita Migrante... 29 Página 3 de 31
Preâmbulo Esta especificação técnica descreve o serviço de Registo de Prescrição de Medicamentos na Base de Dados Nacional de Prescrições (BDNP). Este serviço é disponibilizado pela Plataforma de Integração da ACSS e está exposto na Gateway de Serviços da referida Plataforma, sendo o respectivo acesso fornecido no âmbito do processo de certificação do software. Este documento contempla um capítulo de especificação funcional contendo informação detalhada sobre os dados expostos pelo serviço e descrição do processo de negócio e um capítulo de especificação técnica com informação de âmbito operacional. Esta especificação técnica deve ser analisada em conjunto com a ET.ACSS 19:2010 que define o Modelo de Dados da Receita Médica para que se estabeleçam os requisitos completos relativos às características do serviço. O texto do projecto de especificação técnica foi submetido à apreciação da Comissão Técnica de Normalização da ACSS e foi aprovado como ET.ACSS 20:2011, em 2011-01-19. Página 4 de 31
1 Objectivo e campo de aplicação Esta especificação técnica tem por objectivo documentar o Serviço de Registo de Prescrição de Medicamentos, o qual permite registar receitas médicas na Base de Dados Nacional de Prescrições (BDNP). Estas receitas deverão ter origem numa aplicação informática que disponibilize a funcionalidade de prescrição electrónica de medicamentos e tenha sido certificada pela ACSS. Página 5 de 31
2 Referências Esta especificação técnica contém referências, implícitas ou explícitas, a outras publicações. Essas referências serão indicadas ao longo do texto, sendo as publicações enumeradas a seguir. Só poderão ser consideradas eventuais emendas ou revisões de publicações referidas, com indicação de data, quando incorporadas em emenda ou revisão desta especificação técnica. No caso de publicações referidas sem indicação de data, considera-se a última edição da mesma, incluindo emendas. 2.1 Referências legais Despacho nº 3956/2010, de 4 de Março; Despacho n.º 7330/2003, de 15 de Abril; 2.2 Referências normativas ET.ACSS 19:2011 ACSS Plataforma de Integração. Modelo de dados canónico 2.3 Referências bibliográficas Página 6 de 31
3 Acrónimos, termos e definições 3.1 Acrónimos Sigla ACSS BDNP DTD WSDL XML Definição Administração Central do Sistema de Saúde, I.P. Base de Dados Nacional de Prescrições Data Type Definition Web Services Description Language extensible Markup Language Página 7 de 31
4 Especificação funcional 4.1 Requisitos de utilização do serviço As aplicações que disponibilizem a funcionalidade de prescrição electrónica de medicamentos deverão utilizar este serviço, de preferência on-line e no acto de prescrição médica, garantindo o envio da informação das receitas prescritas para a BDNP no momento da prescrição. Este requisito não é ainda de carácter obrigatório, no entanto sê-lo-á num futuro próximo, no âmbito do processo de desmaterialização da Receita de Medicamentos. O Sofware deverá estar preparado para garantir o envio das receitas que, por motivos técnicos ou por erro, não tenham tido sucesso no seu envio. Deverá ter a capacidade identificar as receitas que não foram enviadas com sucesso, e repetir o seu envio até ser ultrapassado o problema técnico (Problemas de comunicações, erro técnico devolvido pelo serviço, etc.). As receitas que sejam recepcionadas mas em que existe uma mensagem de aviso, deverão ser analisadas no sentido de ser realizado um diagnóstico e se apurar se estamos perante uma não conformidade da prescrição. 4.2 Retorno do serviço Sempre que o serviço devolva um erro ou esteja indisponível, é necessário reenviar a prescrição. O Software deverá assegurar esse reenvio até obter uma resposta de sucesso ou aviso. Caso a receita seja recepcionada mas o serviço retorne um aviso deverá o mesmo ser analisado para identificar a sua causa e corrigir o problema de forma a evitar avisos em situações futuras, nomeadamente: 1. Avisos relacionados com o Profissional: devem ser reportados à ACSS; significa que o profissional não é conhecido no sistema Central pelo que deverá ser notificado; 2. Avisos relacionados com o Local de Prescrição: devem ser reportados à ACSS; significa que o local de prescrição não é conhecido no sistema Central pelo que deverá ser notificado; 3. Avisos relacionados com o utente: caso a entidade financeira responsável seja o SNS, o software deve verificar se os dados do utente estão em conformidade com os disponibilizados pelo RNU (número de de utente, nome, data de nascimento), incluindo os benefícios relativos a Regime Especial de Comparticipação de Medicamentos. Nesta situação o utente deve possuir número de utente e deverá existir no RNU; 4. Avisos relacionados com o medicamento: a entidade deve verificar se a base de dados de medicamentos se encontra actualizada e se o medicamento prescrito é comercializado; 5. Avisos relacionados com a Não Conformidade com as regras de prescrição deverão ser analisados pela entidade de forma a garantir que está a cumprir as regras de prescrição e os requisitos identificados no processo de certificação para a Prescrição Electrónica de Medicamentos. Página 8 de 31
4.3 Fluxo de execução A figura seguinte apresenta, em alto nível, o fluxo de execução deste serviço. Receita Início Validar Entidade Entidade autorizada? Não Sim Fim AF0001 P0001 Pesquisar Utente # Registos <> 1 = 1 Receita válida? Não AF0000P0001 Receita Pendente Sim Legenda: Registar Receita Erro Aviso Fim Fim Sucesso Figura 1 Registo de Prescrição de Medicamentos O serviço de Registo de Prescrições tem 3 tipos de respostas possíveis: Sucesso, Aviso e Erro. O capítulo Especificação Técnica, deste documento, contém as «Tabelas de Referência de Mensagens de Retorno» que descrevem estas mensagens e respectivas acções a tomar. Página 9 de 31
4.4 Modelo de comunicação Os elementos constantes das tabelas abaixo têm cariz funcional e podem não representar a totalidade dos dados definidos nas mensagens expostas pelo serviço. O capítulo Especificação Técnica, deste documento, complementa esta informação. 4.4.1 Parâmetros de Entrada Elemento Tipo Descrição Receitas rpm:listareceitasbody Lista de Receitas 4.4.1.1 ListaReceitasBody Elemento Tipo Descrição Receita er:receitatype Receita, de acordo com a ET.ACSS 19:2010 O objecto complexo MessageHeader, embora obrigatório na mensagem, nunca deverá ser preenchido. Toda a informação enviada neste objecto será ignorada pelo sistema, estando um possível preenchimento desta informação a cargo e responsabilidade da ACSS. 4.4.2 Retorno Elemento Tipo Descrição ListaResultados rpm: ListaReceitasBodyOutput Lista com os resultados do Registo de Prescrição de Medicamentos 4.4.2.1 ListaReceitasBodyOutput Elemento Tipo Descrição ResultadoOperacao rpm:receitabodyoutput Resultado do Registo de Prescrição de Medicamentos 4.4.2.2 ReceitaBodyOutput Elemento Tipo Descrição GenericCodeResult int:genericcodetype Código do resultado da invocação do serviço. Receita er:receitatype Receita, de acordo com a ET.ACSS 19:2010 Página 10 de 31
4.4.3 Falhas As mensagens de erro deste serviço são devolvidas no elemento GenericCodeResult. 4.5 Regras e validações Aplicam-se as seguintes regras e validações a este serviço: 1. A autenticação e autorização da entidade são validadas através do cabeçalho WS-Security, conforme descrito na 5.3.4. 2. Preferencialmente, o serviço deve ser invocado por receita, apesar de ter capacidade para receber uma lista de receitas. 3. O serviço permite inserir uma receita ou anular uma receita já existente no sistema. 4. O número de receita (NumeroReceita) é de preenchimento obrigatório. 5. A data da receita (Data) é de preenchimento obrigatório. 6. Para registar uma receita é necessário identificar o utente ao qual foi prescrita. Os dados mínimos que devem ser enviados para identificar o utente são os seguintes: a) Número do utente do Serviço Nacional de Saúde (NumeroSNS), caso o utente seja beneficiário do SNS; b) Nome do Utente (NomeCompleto); c) Data de Nascimento (DataNascimento) Notas: O nº de utente não é obrigatório se a entidade responsável não for o SNS; O nº de utente, caso esteja preenchido, é preferencial relativamente aos restantes dados, para efeitos de validação. 7. A entidade financeira responsável é de preenchimento obrigatório, de acordo com as seguintes regras: a) Utente do SNS (cidadão Português ou estrangeiro residente) que tenha número de utente atribuído e não seja beneficiário dum subsistema de saúde deve ser preenchida com o código do Serviço Nacional de Saúde, conforme descrito na 4.6, sendo igualmente obrigatório o preenchimento do número de beneficiário com o número de utente; b) Utente beneficiário de um subsistema de saúde (ex: ADSE) deve ser preenchida com o código do respectivo subsistema, conforme descrito na 4.6 e o respectivo número de beneficiário; c) Utente com doença profissional deve ser preenchida com o código do Centro Nacional de Riscos Profissionais, conforme descrito na 4.6 e o respectivo número de beneficiário; Página 11 de 31
d) Utente Migrante não abrangido pelo SNS (não residente) de acordo com as seguintes situações: i. Pertencentes ao EEE e Suíça (com Cartão Europeu de Seguro de Doença - CESD/EIHIC) ii. Deve ser preenchida com o código da entidade estrangeira responsável, conforme descrito na 4.6 e o respectivo número de beneficiário, bem como o número do CESD; Outros imigrantes Deve ser preenchida com o código correspondente, de acordo com o descrito na 4.6; e) Cidadão estrangeiro não abrangido pelas condições acima referidas deve ser preenchida com o código de Independente; não sendo necessário preencher o número de beneficiário. Neste caso, o utente não tem direito a comparticipação por parte do SNS. Nota: O preenchimento do número de beneficiário é obrigatório para todas as entidades financeiras responsáveis, excepto para «Independente». 8. O elemento Profissional é de preenchimento obrigatório. 9. Em todos os elementos do tipo ProfissionalType é obrigatório preencher o NumeroOrdem, de acordo com as tabelas de referência fornecidas pela ACSS. 10. O elemento LocalPrescricao é de preenchimento obrigatório. 11. O tipo de receita é de preenchimento obrigatório. Neste contexto, tipo de receita vincula o tipo de medicamentos ou produtos que podem constar nas linhas da respectiva receita, nomeadamente: a) Normal contém medicamentos de uso humano; b) Diabéticos contém produtos de auto-controlo da Diabetes Mellitus; c) Manipulados contém medicamentos manipulados; d) Dietético contém produtos dietéticos; e) Outros contém outros produtos; 12. A receita pode ser Renovável (S) ou não (N). Caso não seja renovável, o número de vias é 1, caso seja renovável, o número de vias pode variar entre 1 e 3. 13. Numa receita renovável, só podem ser prescritos medicamentos de uso humano da tabela 2 «Tratamentos prolongados» e produtos de auto-controlo da Diabetes Mellitus. 14. Os medicamentos manipulados, os produtos dietéticos e outros produtos não podem ser prescritos em receitas renováveis. 15. Em cada receita médica podem ser prescritos até quatro medicamentos distintos, com o limite máximo de quatro embalagens no total, sendo: a) Medicamentos que se apresentem em embalagens unitárias, até quatro embalagens; Página 12 de 31
b) Até duas embalagens para os restantes medicamentos. 16. É obrigatório enviar a seguinte informação relativa a custos de medicamentos: a) Valor total da receita; b) Valor total da comparticipação da receita; c) Valor total da linha da receita; d) Valor total da comparticipação da linha de receita. 17. O elemento SubstituivelGenerico deve estar preenchido do seguinte modo: a) S (Sim) o médico concorda com a substituição do medicamento por genérico; b) N (Não) o médico não concorda com a substituição do medicamento por genérico; c) Nulo (campo não preenchido) o médico não se pronunciou sobre a substituição de genérico. 18. Em todos os elementos do tipo MedicamentoType é obrigatório o preenchimento de um dos seguintes conjuntos de informação: a) Número de Registo (INFARMED) do medicamento (Codigo); b) Caso se trate de um medicamento manipulado, um produto dietético ou outro produto, o número de registo deverá ser preenchido com código 99999 e a informação desse mesmo medicamento deverá ser registada no campo descrição; c) Substância Activa (SubstanciaActiva), Forma Farmacêutica (FormaFarmaceutica), Embalagem (Embalagem), Dosagem (Dosagem) 19. Os produtos de auto-controlo da Diabetes Mellitus só podem ser prescritos por nome comercial. 20. O Regime Especial de Comparticipação de Medicamentos (RegimeComparticipacao) deve estar preenchido com S ou N, consoante o utente beneficie ou não deste regime. 21. O elemento Diploma deve ser preenchido com o Decreto-Lei que permite aceder ao regime especial de comparticipação de medicamentos. Este valor tem de estar de acordo com a informação proveniente do INFARMED (tabela DIPLOMA da base de dados de medicamentos disponibilizada pelo Infarmed - Diploma_id). 22. É possível anular uma receita, nas seguintes condições: a) Se o médico que pede a anulação for o mesmo que a prescreveu originalmente; b) Ainda não tenha sido anulada; c) Se passaram menos de 30 dias desde que foi prescrita. 23. Para anular uma receita é necessário enviar os seguintes dados: a) Número da receita a anular; Página 13 de 31
b) Dados do utente; c) Data de anulação; d) Motivo de anulação; e) Médico; f) Local de prescrição. 4.6 Entidades Financeiras Responsáveis, para efeitos de comparticipação de medicamentos 4.6.1 Entidades nacionais Código Designação Abreviatura 911001 Direcção-Geral Protecção Social aos Funcionários e Agentes da Administração Pública ADSE 912004 Instituto Acção Social Forças Armadas IASFA 913001 Serviço Assistência Doença aos Militares da Guarda Nacional Republicana SAD GNR 913002 Serviço Assistência Doença - Polícia Segurança Pública SAD PSP 913003 SAD Municipal CM Lisboa SAD MUNICIPAL CM LISBOA 913004 SAD Municipal CM Porto SAD MUNICIPAL CM PORTO 913005 Serviço Assistência Doença - Serviço Estrangeiros e Fronteiras SAD SEF 914001 Serviço Assistência Médico-social Bancários Norte SAMS NORTE 914002 Serviço Assistência Médico-social Bancários Centro SAMS CENTRO 914004 Serviço Assistência Médico-social - Quadros Técnicos SAMS QUADROS TECNICOS 916001 Serviços Sociais Caixa Geral Depósitos SERVIÇOS SOCIAIS CGD 916010 Serviços Sociais Ministério Justiça SERVIÇOS SOCIAIS MJ 916012 Serviços Sociais Tap Air Portugal SERVIÇOS SOCIAIS TAP 916013 Serviços Sociais Telefones Lisboa e Porto SERVIÇOS SOCIAIS TLP 919001 Imprensa Nacional Casa Moeda INCM 919002 Radiodifusão Portuguesa RDP 919003 Administração Dos Portos Douro e Leixões APDL 919004 Administração do Porto de Lisboa APL Página 14 de 31
Código Designação Abreviatura 930003 Centro Nacional de Riscos Profissionais CNRP 935601 Serviço Nacional de Saúde SNS 999998 Independente 4.6.1 Entidades estrangeiras 4.6.1.1 EEE, Suíça e Andorra (parcialmente) As entidades dos países da União Europeia e Suíça (com CESD/EIHIC), e Andorra (parcialmente) encontram-se definidas em http://ec.europa.eu/employment_social/social-security-directory/ 4.6.1.2 Outros imigrantes Para os migrantes dos países identificados na tabela abaixo, deverá ser utilizado o respectivo código de entidade. Código Designação Abreviatura 935602 Cidadãos evacuados dos PALOP 935603 Cidadãos evacuados de Angola 935604 Nacionais da Noruega, Dinamarca, Reino Unido, Brasil, Cabo Verde, Guiné-Bissau, província do Quebec e Andorra (neste último caso se os utentes apresentarem um atestado de direito diferente do AND/3) 935605 Outros beneficiários do Serviço Nacional de Saúde (nomeadamente cidadãos estrangeiros menores de idade não legalizados, que se encontram a residir em Portugal, DL 67/2004, de 25 de Março e as situações de excepção abrangidas pelo n.º 5 do Despacho nº 25360/2001 de 16 de Novembro) Página 15 de 31
5. Especificação técnica 5.1 Operações expostas Nesta secção são apresentadas as operações disponíveis no serviço. 5.1.1 initiateasync Executa o serviço de forma assíncrona. 5.1.1.1 Mensagens de Pedido (Input) Nome RegistoPrescricaoMedicamentosProcessRequest Tipo de Dados rpm: RegistoPrescricaoMedicamentosProcessRequest Type 5.1.1.2 Mensagens de Resposta (Output) Nome RegistoPrescricaoMedicamentosProcessResponse Tipo de Dados rpm: RegistoPrescricaoMedicamentosProcessResponse Type 5.1.1.3 Mensagens de Falha (Fault) errorasync Nome da Operação Tipo de Dados rpm: FaultVariableMessage 5.1.2 initiatesync Executa o serviço de forma síncrona. 5.1.2.1 Mensagens de Pedido (Input) Nome RegistoPrescricaoMedicamentosProcessRequest Tipo de Dados rpm: RegistoPrescricaoMedicamentosProcessRequest Type Página 16 de 31
5.1.2.2 Mensagens de Resposta (Output) Nome RegistoPrescricaoMedicamentosProcessResponse Tipo de Dados rpm: RegistoPrescricaoMedicamentosProcessResponse Type 5.1.2.3 Mensagens de Falha (Fault) Nome RegistoPrescricaoMedicamentosError Tipo de Dados rpm: FaultVariableMessage 5.2 Mensagens de retorno 5.2.1 Estados e mensagens O serviço de Registo de Prescrições de Medicamentos tem 3 grandes tipos de mensagens de retorno. Identificam-se de seguida os estados possíveis para as mensagens retornadas pelo serviço: Estado Sucesso Erro Aviso Acção Receita registada/anulada com sucesso Solicita o reenvio da receita Aceita a receita e devolve código de código/informação incorrecta ou insuficiente Com o código de «Sucesso» é enviado também, na mensagem, o número da receita inserida ou anulada. Os valores possíveis para a mensagem são: Código Descrição Tipo 0002000600010000 Receita registada/anulada com sucesso Sucesso 0002000600010001 Operação não autorizada Erro 0002000600010003 Utente não encontrado Aviso 0002000600010004 Número da receita duplicado Aviso 0002000600010005 Receita renovável e número de vias inválido Aviso 0002000600010006 A entidade responsável não existe Aviso 0002000600010007 O médico não existe Aviso Página 17 de 31
Código Descrição Tipo 0002000600010008 O local de prescrição não existe Aviso 0002000600010009 Tipo de prescrição inválida Aviso 0002000600010010 Número de registo do medicamento não existe Aviso 0002000600010011 Substância activa não existe Aviso 0002000600010012 Forma terapêutica não existe Aviso 0002000600010013 Os dados do medicamento não estão correctos Aviso 0002000600010014 Quantidade inválida Aviso 0002000600010015 Decreto-Lei não existe Aviso 0002000600010017 A Receita não pode ser anulada - Número da receita ainda não existe Aviso 0002000600010018 A Receita não pode ser anulada - ultrapassou o prazo de 30 dias Aviso 0002000600010019 A Receita não pode ser anulada - médico diferente Aviso 0002000600010021 A Receita não pode ser anulada - disponibilizada na farmácia 0002000600010022 A Receita não pode ser anulada - motivo de anulação não existe Aviso 0002000600010023 A Receita não pode ser anulada - já se encontra anulada Aviso 0002000600010024 A Receita não pode ser anulada - o utente é diferente Aviso 0002000600010025 A Receita não pode ser anulada - não existe qualquer indicação de anulação Aviso 0002000600010026 Receita Renovável com medicamentos sem ser de longa duração Aviso 0002000600010027 Profissional não está preenchido Aviso 0002000600010028 Motivo de anulação não está preenchido Aviso 0002000600010029 Local de prescrição não está preenchido Aviso 0002000600010030 Número de Beneficiário obrigatório para esta entidade Aviso 0002000600010031 Tipo de Receita Inválido para o(s) medicamento(s) prescritos Aviso 0002000600019993 Erro de Não Conformidade com as Regras de Prescrição Aviso 0002000600019994 Erro na Informação do Profissional Aviso 0002000600019995 Erro na Informação do Local de Prescrição Aviso 0002000600019996 Erro na Informação do Medicamento Aviso 0002000600019997 Erro na Informação do Utente Aviso 0002000600019998 Erro Desconhecido Aviso Página 18 de 31
Código Descrição Tipo 0002000600019999 Erro Técnico Erro Com o código de erro, é enviado à entidade um número único (GUID) que deverá ser guardado para futura identificação desse mesmo pedido. Esse identificador é enviado na resposta, na seguinte localização: MessageHeader: RequestKey 5.2.2 Reenvio de mensagens Existem apenas duas situações em que é necessário reenviar a mensagem, a saber: 1. Caso a mensagem retorne um código de erro, conforme 5.2.1; 2. Caso o serviço não responda ou responda com uma mensagem inválida. Ambas as situações requerem contacto com a ACSS para que seja possível resolver o problema e permitir o reenvio da receita a ser processada. Se o serviço retornar um aviso conforme 5.2.1, está garantido o registo de todas as mensagens enviadas, não sendo necessário o seu reenvio. Contudo, a ACSS deverá ser igualmente contactada de forma a que seja corrigido o erro que originou o aviso. 5.3 Informação operacional 5.3.1 Endpoints Os endpoints deste serviço em ambiente de testes e produção, encontram-se nos seguintes endereços: Testes: https://wsgw-teste.min-saude.pt:8000/gateway/services/registoprescricaomedicamentos Produção: https://wsgw.min-saude.pt/gateway/services/registoprescricaomedicamentos 5.3.2 WSDL Os WSDL deste serviço em ambiente de testes e produção encontram-se nos seguintes endereços: Testes: https://wsgw-teste.min-saude.pt:8000/gateway/services/registoprescricaomedicamentos?wsdl Produção: https://wsgw.min-saude.pt/gateway/services/registoprescricaomedicamentos?wsdl Página 19 de 31
5.3.3 Timeout O serviço estará configurado para fechar a ligação, retornando timeout ao fim de 30 segundos de tempo de invocação. Quando isto ocorre é necessário reenviar a mensagem. A autorização de reenvio está dependente de contacto prévio com a ACSS, por parte da entidade emissora, para esclarecimento da origem do timeout. 5.3.4 Segurança A ACSS fornece, à entidade, as credenciais de acesso ao serviço. Estas credenciais de acesso (login e password) devem ser incluídas no cabeçalho WS-Security (http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd) do serviço, para que seja possível a autenticação e autorização da entidade invocadora no servidor LDAP da ACSS. 5.4 Estruturas de dados 5.4.1 RegistoPrescricaoMedicamentosProcessRequestType Elemento Tipo Descrição MessageHeader int:messageheadertype Cabeçalho do Pedido o seu preenchimento é da responsabilidade da ACSS MessageBody rpm: RegistoPrescricaoMedicamentosMessageBody Corpo do Pedido 5.4.2 RegistoPrescricaoMedicamentosMessageBody Elemento Tipo Descrição Receitas rpm:listareceitasbody Lista de Receitas 5.4.3 ListaReceitasBody Elemento Tipo Descrição Receita er:receitatype Receita, de acordo com a ET.ACSS 19:2011 Página 20 de 31
5.4.4 RegistoPrescricaoMedicamentosProcessResponseType Elemento Tipo Descrição MessageHeader int:messageheadertype Cabeçalho do Pedido; a responsabilidade do seu preenchimento é da ACSS MessageBody rpm: RegistoPrescricaoMedicamentosMessageBodyOutput Corpo da Resposta 5.4.5 RegistoPrescricaoMedicamentosMessageBodyOutput Elemento Tipo Descrição ListaResultados rpm: ListaReceitasBodyOutput Lista com os resultados do Registo de Prescrição de Medicamentos 5.4.6 ListaReceitasBodyOutput Elemento Tipo Descrição ResultadoOperacao rpm:receitabodyoutput Resultado do Registo de Prescrição de Medicamentos 5.4.7 ReceitaBodyOutput Elemento Tipo Descrição GenericCodeResult int:genericcodetype Código representativo do estado da invocação (Sucesso, Erro, etc.) Receita er:receitatype Receita, de acordo com a ET.ACSS 19:2011 Página 21 de 31
5.5 Representação gráfica das estruturas de dados 5.5.1 RegistoPrescricaoMedicamentosProcessRequestType 5.5.2 RegistoPrescricaoMedicamentosMessageBody 5.5.3 ListaReceitasBody 5.5.4 RegistoPrescricaoMedicamentosProcessResponseType 5.5.5 RegistoPrescricaoMedicamentosMessageBodyOutput Página 22 de 31
5.5.6 ListaReceitasBodyOutput 5.5.7 ReceitaBodyOutput 5.6 XML schema definition <?xml version="1.0" encoding="utf-8"?> <xsd:schema elementformdefault="qualified" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:rpm="http://xmlns.rnu.pi.acss.ms.pt/201001/registoprescricaomedicamentos" xmlns:int="http://xmlns.sgadr.pi.acss.ms.pt/201001/integration" xmlns:er="http://xmlns.mdc.pi.acss.ms.pt/201008/estruturareceita" targetnamespace="http://xmlns.rnu.pi.acss.ms.pt/201001/registoprescricaomedicamentos"> <xsd:import schemalocation="http://wsgw-teste.dc.local:8080/xsd_teste/201001/integration.xsd" namespace="http://xmlns.sgadr.pi.acss.ms.pt/201001/integration"/> <xsd:import schemalocation="http://wsgw-teste.dc.local:8080/xsd_teste/201008/estruturareceita.xsd" namespace="http://xmlns.mdc.pi.acss.ms.pt/201008/estruturareceita"/> <xsd:element name="registoprescricaomedicamentosprocessrequest" type="rpm:registoprescricaomedicamentosprocessrequesttype"/> <xsd:complextype name="registoprescricaomedicamentosprocessrequesttype"> <xsd:sequence> <xsd:element name="messageheader" type="int:messageheadertype" minoccurs="1" maxoccurs="1" nillable="true"/> <xsd:element name="messagebody" type="rpm:registoprescricaomedicamentosmessagebody" minoccurs="1" maxoccurs="1" nillable="true"/> </xsd:sequence> </xsd:complextype> Página 23 de 31
<xsd:complextype name="registoprescricaomedicamentosmessagebody"> <xsd:sequence> <xsd:element name="receitas" type="rpm:listareceitasbody" minoccurs="1" maxoccurs="1" nillable="false"/> </xsd:sequence> </xsd:complextype> <xsd:element name="registoprescricaomedicamentosprocessresponse" type="rpm:registoprescricaomedicamentosprocessresponsetype"/> <xsd:complextype name="registoprescricaomedicamentosprocessresponsetype"> <xsd:sequence minoccurs="1" maxoccurs="1"> <xsd:element name="messageheader" type="int:messageheadertype" minoccurs="1" maxoccurs="1" nillable="true"/> <xsd:element name="messagebody" type="rpm:registoprescricaomedicamentosmessagebodyoutput" minoccurs="1" maxoccurs="1" nillable="true"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="registoprescricaomedicamentosmessagebodyoutput"> <xsd:sequence> <xsd:element name="listaresultados" type="rpm:listareceitasbodyoutput" minoccurs="1" maxoccurs="1" nillable="false"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="listareceitasbody"> <xsd:sequence> <xsd:element name="receita" type="er:receitatype" minoccurs="0" maxoccurs="unbounded" nillable="false"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="listareceitasbodyoutput"> <xsd:sequence> <xsd:element name="resultadooperacao" type="rpm:receitabodyoutput" minoccurs="0" maxoccurs="unbounded" nillable="false"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="receitabodyoutput"> <xsd:sequence> <xsd:element name="genericcoderesult" type="int:genericcodetype" minoccurs="0" maxoccurs="1" nillable="false"/> Página 24 de 31
<xsd:element name="receita" type="er:receitatype" minoccurs="0" maxoccurs="1" nillable="false"/> </xsd:sequence> </xsd:complextype> <xsd:element name="resultadooperacao" type="rpm:receitabodyoutput"/> <xsd:element name="receita" type="er:receitatype"/> </xsd:schema> 5.7 Exemplos de invocação 5.7.1 Anulação de receita <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:header/> <soap:body> <ns2:registoprescricaomedicamentosprocessrequest xmlns:ns2="http://xmlns.rnu.pi.acss.ms.pt/201001/registoprescricaomedicamentos"> <ns2:messageheader/> <ns2:messagebody> <ns2:receitas> <ns2:receita> <ns3:cabecalhoreceita xmlns:ns3="http://xmlns.mdc.pi.acss.ms.pt/201008/estruturareceita"> <ns3:numeroreceita>1114310009198</ns3:numeroreceita> <ns3:renovavel>n</ns3:renovavel> <ns3:numerovias>1</ns3:numerovias> <ns3:data>2010-12-24t10:49:10.875-07:00</ns3:data> <ns3:valortotal>24.27</ns3:valortotal> <ns3:comparticipacao>15.1</ns3:comparticipacao> <ns3:utente> <ns4:identificacao xmlns:ns4="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturautente"> <ns4:numerosns>163014945</ns4:numerosns> <ns4:sexo>f</ns4:sexo> </ns4:identificacao> </ns3:utente> <ns3:subsistemaresponsavel> <ns4:entidade xmlns:ns4="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturautente"> <ns6:codigoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade">935601</ns6:codigoentidade> <ns6:tipoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade"> <ns5:codigo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo">epub</ns5:codigo> <ns5:tipo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>enre</ns5:codigo> </ns5:tipo> Página 25 de 31
</ns6:tipoentidade> </ns4:entidade> <ns4:numerobeneficiario xmlns:ns4="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturautente">270976233</ns4:numerobeneficiario> </ns3:subsistemaresponsavel> <ns3:regimecomparticipacao>n</ns3:regimecomparticipacao> <ns3:profissional> <ns7:listacarteiraprofissional xmlns:ns7="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaprofissional"> <ns7:listanumeroordem> <ns7:numeroordem>20854</ns7:numeroordem> </ns7:listanumeroordem> </ns7:listacarteiraprofissional> </ns3:profissional> <ns3:localprescricao> <ns6:codigoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade">137303</ns6:codigoentidade> <ns6:tipoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade"> <ns5:codigo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo">lpre</ns5:codigo> <ns5:tipo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>usau</ns5:codigo> </ns5:tipo> </ns6:tipoentidade> </ns3:localprescricao> <ns3:anulacao> <ns3:anulado>s</ns3:anulado> <ns3:dataanulacao>2010-12-07t00:00:00</ns3:dataanulacao> <ns3:motivoanulacao xmlns:ns7="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns7:codigo>4</ns7:codigo> <ns7:tipo> <ns7:codigo>arec</ns7:codigo> </ns7:tipo> </ns3:motivoanulacao> </ns3:anulacao> <ns3:tiporeceita> <ns5:codigo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo">rn</ns5:codigo> <ns5:tipo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>trec</ns5:codigo> </ns5:tipo> </ns3:tiporeceita> </ns3:cabecalhoreceita> </ns2:receita> </ns2:receitas> Página 26 de 31
</ns2:messagebody> </ns2:registoprescricaomedicamentosprocessrequest> </soap:body> </soap:envelope> 5.7.2 Registo de receita <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:header/> <soap:body> <ns2:registoprescricaomedicamentosprocessrequest xmlns:ns2="http://xmlns.rnu.pi.acss.ms.pt/201001/registoprescricaomedicamentos"> <ns2:messageheader> <ns2:messagebody> <ns2:receitas> <ns2:receita> <ns3:cabecalhoreceita xmlns:ns3="http://xmlns.mdc.pi.acss.ms.pt/201008/estruturareceita"> <ns3:numeroreceita>1114310009198</ns3:numeroreceita> <ns3:renovavel>n</ns3:renovavel> <ns3:numerovias>1</ns3:numerovias> <ns3:data>2010-06-12t10:49:10.875-07:00</ns3:data> <ns3:valortotal>24.27</ns3:valortotal> <ns3:comparticipacao>15.1</ns3:comparticipacao> <ns3:utente> <ns4:identificacao xmlns:ns4="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturautente"> <ns4:numerosns>163014945</ns4:numerosns> <ns4:sexo>f</ns4:sexo> </ns4:identificacao> </ns3:utente> <ns3:subsistemaresponsavel> <ns4:entidade xmlns:ns4="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturautente"> <ns6:codigoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade">935601</ns6:codigoentidade> <ns6:tipoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade"> <ns5:codigo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo">epub</ns5:codigo> <ns5:tipo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>enre</ns5:codigo> </ns5:tipo> </ns6:tipoentidade> </ns4:entidade> <ns4:numerobeneficiario xmlns:ns4="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturautente">270976233</ns4:numerobeneficiario> </ns3:subsistemaresponsavel> <ns3:regimecomparticipacao>n</ns3:regimecomparticipacao> Página 27 de 31
<ns3:profissional> <ns7:listacarteiraprofissional xmlns:ns7="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaprofissional"> <ns7:listanumeroordem> <ns7:numeroordem>20854</ns7:numeroordem> </ns7:listanumeroordem> </ns7:listacarteiraprofissional> </ns3:profissional> <ns3:localprescricao> <ns6:codigoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade">137303</ns6:codigoentidade> <ns6:tipoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade"> <ns5:codigo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo">lpre</ns5:codigo> <ns5:tipo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>usau</ns5:codigo> </ns5:tipo> </ns6:tipoentidade> </ns3:localprescricao> <ns3:tiporeceita> <ns5:codigo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo">rn</ns5:codigo> <ns5:tipo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>trec</ns5:codigo> </ns5:tipo> </ns3:tiporeceita> </ns3:cabecalhoreceita> <ns3:listalinhasreceita xmlns:ns3="http://xmlns.mdc.pi.acss.ms.pt/201008/estruturareceita"> <ns3:linhareceita> <ns3:numerolinha>1</ns3:numerolinha> <ns3:medicamento> <ns3:codigo>8520809</ns3:codigo> </ns3:medicamento> <ns3:substituivelgenerico>n</ns3:substituivelgenerico> <ns3:posologia> </ns3:posologia> <ns3:quantidade>2</ns3:quantidade> <ns3:precopvp>1.63</ns3:precopvp> <ns3:valorcomparticipacao>0.6</ns3:valorcomparticipacao> <ns3:dispensa>1</ns3:dispensa> </ns3:linhareceita> <ns3:linhareceita> <ns3:numerolinha>2</ns3:numerolinha> <ns3:medicamento> <ns3:codigo>3240090</ns3:codigo> </ns3:medicamento> <ns3:substituivelgenerico>n</ns3:substituivelgenerico> Página 28 de 31
<ns3:posologia> </ns3:posologia> <ns3:quantidade>1</ns3:quantidade> <ns3:precopvp>21.01</ns3:precopvp> <ns3:valorcomparticipacao>14.5</ns3:valorcomparticipacao> <ns3:dispensa>1</ns3:dispensa> </ns3:linhareceita> </ns3:listalinhasreceita> </ns2:receita> </ns2:receitas> </ns2:messagebody> </ns2:registoprescricaomedicamentosprocessrequest> </soap:body> </soap:envelope> 5.7.3 Registo de receita Migrante <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:header/> <soap:body> <ns2:registoprescricaomedicamentosprocessrequest xmlns:ns2="http://xmlns.rnu.pi.acss.ms.pt/201001/registoprescricaomedicamentos"> <ns2:messageheader> <ns2:messagebody> <ns2:receitas> <ns2:receita> <ns3:cabecalhoreceita xmlns:ns3="http://xmlns.mdc.pi.acss.ms.pt/201008/estruturareceita"> <ns3:numeroreceita>1112323</ns3:numeroreceita> <ns3:renovavel>n</ns3:renovavel> <ns3:numerovias>1</ns3:numerovias> <ns3:data>2010-06-12t10:49:10.875-07:00</ns3:data> <ns3:valortotal>24.27</ns3:valortotal> <ns3:comparticipacao>15.1</ns3:comparticipacao> <ns3:utente> <ns4:identificacao xmlns:ns4="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturautente"> <ns4:numerosns>163014945</ns4:numerosns> <ns4:sexo>f</ns4:sexo> </ns4:identificacao> </ns3:utente> <ns3:subsistemaresponsavel xmlns:ns4="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturautente"> <ns4:entidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade"> <ns6:codigoantigo>43543</ns6:codigoantigo> <ns6:tipoentidade xmlns:ns7="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns7:codigo>entest</ns7:codigo> <ns7:tipo> <ns7:codigo>miga_insest</ns7:codigo> Página 29 de 31
</ns7:tipo> </ns6:tipoentidade> <ns6:endereco> <ns6:pais xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>gr</ns5:codigo> </ns6:pais> </ns6:endereco> </ns4:entidade> <ns4:numerobeneficiario>321321</ns4:numerobeneficiario> <ns4:tipocartao xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>37</ns5:codigo> </ns4:tipocartao> </ns3:subsistemaresponsavel> <ns3:regimecomparticipacao>n</ns3:regimecomparticipacao> <ns3:profissional> <ns7:listacarteiraprofissional xmlns:ns7="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaprofissional"> <ns7:listanumeroordem> <ns7:numeroordem>20854</ns7:numeroordem> </ns7:listanumeroordem> </ns7:listacarteiraprofissional> </ns3:profissional> <ns3:localprescricao> <ns6:codigoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade">137303</ns6:codigoentidade> <ns6:tipoentidade xmlns:ns6="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturaentidade"> <ns5:codigo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo">lpre</ns5:codigo> <ns5:tipo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>usau</ns5:codigo> </ns5:tipo> </ns6:tipoentidade> </ns3:localprescricao> <ns3:tiporeceita> <ns5:codigo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo">rn</ns5:codigo> <ns5:tipo xmlns:ns5="http://xmlns.mdc.pi.acss.ms.pt/201001/estruturacodigo"> <ns5:codigo>trec</ns5:codigo> </ns5:tipo> </ns3:tiporeceita> </ns3:cabecalhoreceita> <ns3:listalinhasreceita xmlns:ns3="http://xmlns.mdc.pi.acss.ms.pt/201008/estruturareceita"> <ns3:linhareceita> <ns3:numerolinha>1</ns3:numerolinha> <ns3:medicamento> <ns3:codigo>8520809</ns3:codigo> Página 30 de 31
</ns3:medicamento> <ns3:substituivelgenerico>n</ns3:substituivelgenerico> <ns3:posologia> </ns3:posologia> <ns3:quantidade>2</ns3:quantidade> <ns3:precopvp>1.63</ns3:precopvp> <ns3:valorcomparticipacao>0.6</ns3:valorcomparticipacao> <ns3:dispensa>1</ns3:dispensa> </ns3:linhareceita> <ns3:linhareceita> <ns3:numerolinha>2</ns3:numerolinha> <ns3:medicamento> <ns3:codigo>3240090</ns3:codigo> </ns3:medicamento> <ns3:substituivelgenerico>n</ns3:substituivelgenerico> <ns3:posologia> </ns3:posologia> <ns3:quantidade>1</ns3:quantidade> <ns3:precopvp>21.01</ns3:precopvp> <ns3:valorcomparticipacao>14.5</ns3:valorcomparticipacao> <ns3:dispensa>1</ns3:dispensa> </ns3:linhareceita> </ns3:listalinhasreceita> </ns2:receita> </ns2:receitas> </ns2:messagebody> </ns2:registoprescricaomedicamentosprocessrequest> </soap:body> </soap:envelope> Página 31 de 31