BR112015011028B1 - Método para implantação extensível de um sistema de comunicação escalável, sistema e meio legível por máquina não transitório. - Google Patents

Método para implantação extensível de um sistema de comunicação escalável, sistema e meio legível por máquina não transitório. Download PDF

Info

Publication number
BR112015011028B1
BR112015011028B1 BR112015011028-2A BR112015011028A BR112015011028B1 BR 112015011028 B1 BR112015011028 B1 BR 112015011028B1 BR 112015011028 A BR112015011028 A BR 112015011028A BR 112015011028 B1 BR112015011028 B1 BR 112015011028B1
Authority
BR
Brazil
Prior art keywords
service
database
user
server
message
Prior art date
Application number
BR112015011028-2A
Other languages
English (en)
Other versions
BR112015011028A2 (pt
Inventor
Nick T. Nguyen
Richard W. Massey
Willis Lam
Ryan Nguyen
Gerald E. Barnefiher
Original Assignee
Carefusion 303, Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Carefusion 303, Inc filed Critical Carefusion 303, Inc
Publication of BR112015011028A2 publication Critical patent/BR112015011028A2/pt
Publication of BR112015011028B1 publication Critical patent/BR112015011028B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

sistema de implantação extensível. a presente invenção refere-se a um sistema de implantação extensível que fornece implantação flexível e gerenciamento centralizado de um sistema de comunicação escalável. o sistema de comunicação escalável pode ser segmentado em múltiplos grupos de serviços, por exemplo, múltiplas soluções, que podem ser implantadas por um ou mais servidores. os grupos de serviços podem cada um acessar bancos de dados separados em uma única instância de banco de dados que pode permitir que grupos de serviços sejam implantados e aprimorados independentemente. pode ser fornecida um a interface de gerenciamento que permite gerenciamento centralizado e implantação de todos os grupos de serviços, independente dos caminhos de aprimoramento independente dos grupos de serviços. a interface de gerenciamento pode incluir um sistema de autenticação local e pode também ser interoperável com um ou mais sistemas de autenticação externa, de tal modo que usuários possam usar credenciais de logon de um sistema de autenticação externa para acessar a interface de gerenciamento.

Description

Campo da Técnica
[0001] A presente descrição refere-se geralmente a um sistema de implantação e, mais particularmente, mas não exclusivamente, a um sistema de implantação extensível.
Antecedentes
[0002] Hospitais e outras instituições de cuidado empregam diversos sistemas de dados e dispositivos eletrônicos diferentes para executar muitas das funções do hospital. Esses sistemas de dados diferentes frequentemente utilizam protocolos de sinalização e comunicação incompatíveis para os vários tipos de sistemas, que podem incluir Admitir-Dar Alta-Transferir (ADT), entrada de prescrição médica (POE), Registro de Administração de Medicina eletrônico (eMAR) e outros. Certos sistemas de dados, por exemplo, um sistema de gerenciamento de medicamento tal como o sistema Pyxis MedStation™, recebem informações de um ou mais destes outros sistemas em uma base contínua. Visto que cada sistema de dados pode usar um protocolo de mensagem ou estrutura de dados diferente, as mensagens não podem ser enviadas diretamente de um sistema de dados para outro sem personalizar um ou ambos os sistemas de dados. Adicionalmente, fabricantes diferentes também irão usar protocolos diferentes, o que torna o controle e a comunicação entre sistemas de dados bastante difíceis. A manutenção e a atualização de múltiplos sistemas de dados personalizados para a comunicação dentro de uma rede complicada interconectada de sistemas de dados dentro de um hospital é uma tarefa complexa e considerável.
[0003] Em alguns exemplos, um ambiente hospitalar pode incluir um ou mais sistemas de conversão de envio de mensagem para facilitar comunicação entre os diferentes sistemas de dados por múltiplos locais. Entretanto, implantar, aprimorar, ou estender os sistemas de conversão de envio de mensagem pode se tornar extremamente difícil de desempenhar e ainda mais difícil de validar, o que pode levar a uma redução em serviço ou confiabilidade da troca de dados para os sistemas de hospital amplos que dependem principalmente desse tipo de integração para fornecer tratamento de qualidade a seus pacientes. Sumário
[0004] A matéria objeto se refere a um método para implantação extensível de um sistema de comunicação escalável. O método pode incluir receber uma primeira solicitação para criar um primeiro agrupamento de serviço para serviços que irão compartilhar um primeiro banco de dados, em que a primeira solicitação compreende um primeiro identificador de um primeiro servidor; o método pode incluir adicionalmente recuperar primeiros scripts para criar o primeiro banco de dados a partir de um primeiro agente que é executado no primeiro servidor; o método pode incluir adicionalmente gerar, por um processador, o primeiro banco de dados com base nos primeiros scripts e receber uma segunda solicitação para adicionar um primeiro serviço ao primeiro agrupamento de serviço, em que a segunda solicitação compreende o primeiro identificador do primeiro servidor. O método pode incluir adicionalmente transmitir, para o primeiro agente que é executado no primeiro servidor, um primeiro comando para criar o primeiro serviço no primeiro servidor e fornecer uma primeira indicação de que o primeiro serviço foi adicionado ao primeiro agrupamento de serviço.
[0005] A matéria objeto também se refere a um sistema de implantação extensível. O sistema pode incluir um ou mais processadores e uma memória que inclui instruções que, quando executadas pelo um ou mais processadores, fazem o um ou mais processadores: receber uma solicitação de autenticação de usuário para acessar uma interface de gerenciamento, em que a solicitação de autenticação de usuário compreende um identificador de usuário e uma senha, determinar se o identificador de usuário existe em um banco de dados de usuário local, autenticar o identificador de usuário e a senha através de um sistema de autenticação local se o identificador de usuário existir no banco de dados de usuário local, caso contrário autenticar o identificador de usuário e senha através de um sistema de autenticação externa e fornecer a interface de gerenciamento se o identificador de usuário e a senha forem autenticados através tanto do sistema de autenticação local quanto do sistema de autenticação externa, caso contrário negar acesso à interface de gerenciamento.
[0006] A matéria revelada também se refere a um meio legível por máquina que incorpora instruções que, quando executadas por uma máquina, permite que a máquina desempenhe um método para implantação extensível de um sistema de comunicação escalável. o método pode incluir gerar um banco de dados de gerenciamento em uma instância de banco de dados para sustentar uma pluralidade de grupos de serviços e recuperar um primeiro conjunto de scripts de um primeiro servidor e um segundo conjunto de scripts de um segundo servidor. O método pode incluir adicionalmente gerar um primeiro banco de dados na instância de banco de dados para um primeiro grupo de serviços da pluralidade de grupos de serviços com o uso do primeiro conjunto de scripts e um segundo banco de dados na instância de banco de dados para um segundo grupo de serviços da pluralidade de grupos de serviços com o uso do segundo conjunto de scripts, em que o primeiro banco de dados compreende um esquema diferente do que o segundo banco de dados. O método pode incluir adicionalmente transmitir um primeiro comando para um primeiro processo de agente que é executado no primeiro servidor para iniciar um primeiro serviço do primeiro grupo de serviços, em que o primeiro serviço acessa o primeiro banco de dados para traduzir uma primeira pluralidade de mensagens que são recebidas a partir de uma primeira pluralidade de dispositivos. O método pode incluir adicionalmente transmitir um segundo comando para um segundo processo de agente que é executado no segundo servidor para iniciar um segundo serviço do segundo grupo de serviços, em que o segundo serviço acessa o segundo banco de dados para traduzir uma segunda pluralidade de mensagens que são recebidas a partir de uma segunda pluralidade de dispositivos e fornecer uma interface de usuário para gerenciar o primeiro serviço e o segundo serviço.
[0007] É compreendido que outras configurações da tecnologia se tornarão prontamente aparentes para aqueles versados na técnica a partir da descrição detalhada seguinte, em que várias configurações da tecnologia são mostradas e descritas a título de ilustração. Conforme será verificado, a tecnologia é capaz de outras e diferentes configurações e seus diversos detalhes são capazes de modificação em várias outras considerações, tudo sem desviar do escopo da tecnologia. Em conformidade, os desenhos e a descrição detalhada devem ser considerados como de natureza ilustrativa e não como restritiva.
Breve Descrição dos Desenhos
[0008] Certos recursos da tecnologia são estabelecidos nas cláusulas listadas abaixo. Entretanto, para o propósito de explicação, diversas modalidades da tecnologia são estabelecidas nas figuras seguintes.
[0009] A Figura 1 ilustra um sistema hospitalar exemplificativo em que um sistema de comunicação centralizado pode ser implantado de acordo com uma ou mais implementações.
[0010] A Figura 2 ilustra uma implantação extensível exemplificativa de um sistema de comunicação centralizado em um sistema hospitalar de acordo com uma ou mais implementações.
[0011] A Figura 3 ilustra um fluxograma do processo exemplificativo para um sistema de implantação extensível de acordo com uma ou mais implementações.
[0012] A Figura 4 ilustra um fluxograma do processo exemplificativo para um sistema de implantação extensível de acordo com uma ou mais implementações.
[0013] A Figura 5 ilustra um fluxograma do processo exemplificativo para autenticação de usuário em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0014] A Figura 6 ilustra um fluxo de trabalho exemplificativo de um sistema de implantação extensível de acordo com uma ou mais implementações.
[0015] A Figura 7 ilustra um fluxo de trabalho exemplificativo de autenticação de usuário em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0016] A Figura 8 ilustra uma interface de usuário exemplificativa para fornecer informações de configuração em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0017] A Figura 9 ilustra uma interface de usuário exemplificativa para adicionar um servidor em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0018] A Figura 10 ilustra uma interface de usuário exemplificativa para adicionar um agrupamento de serviço em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0019] A Figura 11 ilustra uma interface de usuário exemplificativa para adicionar um serviço a um agrupamento de serviço em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0020] A Figura 12 ilustra uma interface de usuário exemplificativa para iniciar um serviço em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0021] A Figura 13 ilustra uma interface de usuário exemplificativa para gerenciar agrupamentos de serviço em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0022] A Figura 14 ilustra uma interface de usuário exemplificativa para gerenciar serviços de um agrupamento de serviço em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0023] A Figura 15 ilustra uma interface de usuário exemplificativa para rastreamento de mensagem em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações.
[0024] A Figura 16 ilustra uma interface de usuário exemplificativa para filtrar rastreamento de mensagem em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações.
[0025] A Figura 17 ilustra uma interface de usuário exemplificativa para pesquisar rastreamento de mensagem em um formato de texto em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações.
[0026] A Figura 18 ilustra uma interface de usuário exemplificativa para pesquisar rastreamento de mensagem em um formato de grade em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações.
[0027] A Figura 19 ilustra uma interface de usuário exemplificativa para pesquisar rastreamento de mensagem em um formato de nível de integridade 7 (HL7) em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações.
[0028] A Figura 20 ilustra uma interface de usuário exemplificativa para pesquisar rastreamento de mensagem em um formato de linguagem de marcação extensível (XML) em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações.
[0029] A Figura 21 ilustra uma interface de usuário exemplificativa para rastreamento de mensagem com múltiplas abas em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações.
[0030] A Figura 22 ilustra uma interface de usuário exemplificativa para gerenciamento de usuário em um sistema de implantação extensível de acordo com uma ou mais implementações.
[0031] A Figura 23 ilustra conceitualmente um sistema eletrônico com o qual uma ou mais implementações da tecnologia podem ser implementadas.
Descrição Detalhada da Invenção
[0032] A descrição detalhada estabelecida abaixo é destinada como uma descrição de várias configurações da tecnologia e não é destinada a representar apenas as configurações em que a tecnologia pode ser praticada. Os desenhos anexos são incorporados no presente documento e constituem uma parte da descrição detalhada. A descrição detalhada inclui detalhes específicos para o propósito de fornecer uma compreensão extensiva da tecnologia. Entretanto, será claro e aparente para aqueles versados na técnica de que a tecnologia não é limitada aos detalhes específicos estabelecidos no presente documento e pode ser praticada com o uso de uma ou mais implementações. Em alguns exemplos, estruturas e componentes bem conhecidos são mostrados em forma de diagrama de blocos a fim de evitar obscurecer os conceitos da tecnologia.
[0033] Interoperabilidade se tornou complexa e desafiadora dentro do ambiente de assistência médica já que muitos hospitais tipicamente empregam muitas aplicações e dispositivos diferentes desenvolvidos por muitos vendedores diferentes diariamente. É desejado um sistema de comunicação centralizado que inclui soluções de integração que permitem dados ou informações trocados entre os sistemas em ambas os lados do vendedor e do usuário e permitem que todos os sistemas trabalhem juntos sem problemas. O lado do vendedor pode incluir, por exemplo, um sistema de informações hospitalares (HIS) tal como qualquer, ou qualquer combinação de, um sistema de admissão, alta e transferência (ADT), um sistema de dados de pedido de paciente, um sistema de dados de formulário, um sistema de informações de sala de operações (ORIS), um sistema de registro médico eletrônico (EMR), um MMIS, um sistema de cobrança, e/ou um sistema de empacotamento. O lado do usuário pode incluir vários dispositivos de aplicação ou de paciente tal como um dispositivo de distribuição, um dispositivo de infusão e um ventilador operado por uma enfermeira, um cuidador, ou até mesmo o próprio ou a própria paciente.
[0034] Em um dado sistema hospitalar, as soluções de integração para os diferentes sistemas e dispositivos podem ser gerenciados separadamente. Por exemplo, uma solução de integração para o sistema de HIS pode ser gerenciada por um grupo separado do que a solução de integração para dispositivos de paciente. Adicionalmente, os grupos individuais podem ter restrições de sistema/recurso ou orçamentárias diferentes que podem impactar como os grupos individuais implantam e/ou aprimoram as soluções de integração individuais. Desse modo, pode ser desejável permitir implantação independente das soluções de integração, de tal modo que, por exemplo, uma solução de integração individual em um sistema hospitalar possa ser implantada por qualquer número de servidores, independente da implantação das outras soluções de integração no sistema hospitalar, enquanto mantém interoperabilidade com as outras soluções de integração no hospital. Similarmente, pode ser desejável permitir aprimoramentos independentes às soluções de integração de tal modo que uma solução de integração individual em um sistema hospitalar possa ser aprimorada independente das outras soluções de integração no sistema hospitalar, enquanto mantém interoperabilidade com as outras soluções de integração no sistema hospitalar. Pode também ser desejável fornecer uma interface de gerenciamento centralizado que fornece gerenciamento centralizado e monitoramento de todas as soluções de integração em um sistema hospitalar, independente do caminho de implantação e/ou de aprimoramento das soluções de integração individuais.
[0035] A Figura 1 ilustra um sistema de arquitetura exemplificativo para um sistema de comunicação centralizado (CCS) 120 implantado dentro de um sistema hospitalar 100 de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das cláusulas estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos. Adicionalmente, para propósitos exemplificativos o CCS 120 é descrito como sendo implantado em um sistema hospitalar 100. Entretanto, o CCS 120 não é limitado a ser implantado em um sistema hospitalar 100, mas pode ser implantado em qualquer ambiente de rede pode possa implementar um sistema de intercomunicação.
[0036] O sistema hospitalar 100 inclui dispositivos médicos e sistemas de dados 105A a N, um sistema de informações hospitalares 110 e o CCS 120. Em um exemplo o sistema hospitalar 100 pode ser, ou pode ser parte de, uma rede de entrega integrada (IDN). O sistema de informações hospitalares 110 pode incluir diversos sistemas de registro de integridade eletrônico separado (EHR) 105O a T, que incluem um sistema de unidade de tratamento intensivo (ICU) 105O, um sistema de sala de operações (OR) 105P, um sistema de departamento de emergência (ED) 105Q, um sistema de farmácia (PHARM) 105R, um sistema de unidade de tratamento pós-anestesia (PACU) 105S e um sistema de registros médicos (MEDREC) 105T. Qualquer um dentre os sistemas de EHR 105O-T pode estar em rede com um banco de dados de EHR 117.
[0037] Os dispositivos médicos e sistemas de dados 105 A-N podem incluir um ou mais dispositivos de distribuição de medicamento 105A, tais como Máquinas de Distribuição Automáticas (ADMs) Pyxis MedStation™, que podem armazenar e distribuir medicamentos em uma estação da enfermeira, um ou mais sistemas de medicamentos de sala de operações 105B, tais como Sistemas de Anestesia Pyxis®, que podem armazenar e gerenciar os medicamentos usados por anestesistas na sala de operações, um ou mais dispositivos de armazenamento de suprimento processual 105C, tais como Pyxis SpecialtyStations™, que podem armazenar medicamentos e suprimentos em áreas de tratamento individuais, um ou mais sistemas de armazenamento de medicamento de oncologia e suprimento 105D, tais como Pyxis OncologyStations™, que podem gerenciar os medicamentos especializados e perigosos para tratar câncer em um departamento de oncologia, um ou mais sistemas de armazenamento de medicamento e suprimento 105E, tais como Pyxis DuoStations, que podem ser usados em áreas que exigem armazenamento de ambos os medicamentos e suprimentos, um ou mais sistemas de armazenamento de suprimento 105F, tais como sistemas de Estação de Suprimento Pyxis, que podem ser usados para armazenar suprimentos em pontos de tratamento ao acerca do hospital, um ou mais sistemas de armazenamento de especialidade 105G, tais como sistemas de Estação de Procedimento Pyxis, que podem fornecer armazenamento para equipamento e suprimentos usados em áreas especializadas, tais como ambientes perioperatórios e suítes processuais.
[0038] Os dispositivos médicos e sistemas de dados 105A a N podem incluir adicionalmente um ou mais sistemas de armazenamento de cardiologia 105H, tais como Pyxis CatRacks, que podem armazenar suprimentos usados em unidades cardíacas e laboratórios de radiologia, incluindo-se tais itens como marca-passos, stents e catéteres, um ou mais dispositivos de gerenciamento de vestimenta 1051, tais como sistemas Pyxis ScrubStations®, que podem distribuir e/ou coletar aventais usados por médicos e enfermeiras, um ou mais sistemas de administração de medicamento 105J, tais como sistemas de verificação de Ponto de Atendimento de Paciente Pyxis (PPOC), que podem gerenciar a administração de medicamentos, um ou mais sistemas de reabastecimento 105, tal como sistema Pyxis PARx®, que pode ser usado em uma farmácia hospitalar para acumular medicamentos para reabastecer os dispositivos de distribuição implantados dentro do hospital, um ou mais sistemas de armazenamento de medicamento 105L, tal como um sistema Pyrix CII Safe™, que pode armazenar substâncias controladas dentro do hospital, um ou mais sistemas de gerenciamento de prescrição médica 105M, tal como um sistema Pyxis Connect, que pode capturar prescrições médicas de médicos e transferir as mesmas para uma farmácia onde um farmacêutico revisa os pedidos e os libera no sistema de gerenciamento de medicamento e um ou mais sistemas de terceiros 105N, tal como um sistema PHACTS®, que pode gerenciar medicamentos dentro da farmácia e dispositivos gerenciados pela farmácia.
[0039] O CCS 120 pode incluir um núcleo 124 e um ou mais adaptadores 122A a T, tais como módulos de interface, para um ou mais dos dispositivos médicos ou sistemas de dados 105A a T que são parte do sistema hospitalar 100. O núcleo 124 pode representar uma ou mais soluções de integração, onde cada solução de integração inclui um grupo de serviços de CCS que compartilham filas e um banco de dados. O CCS 120 pode residir em um único servidor, ou múltiplos servidores, tais como servidores posicionados e/ou servidores localizados de modo distinto. Na instância de múltiplos servidores, os adaptadores 122A a T podem ser espalhados pelos servidores e cada servidor pode incluir um dos serviços de CCS do núcleo 124. Uma configuração exemplificativa de um CCS 120 é discutida adicionalmente abaixo em relação à Figura 2.
[0040] Qualquer um dos adaptadores 122A a T, tal como o adaptador 122A, pode ser construído a partir de uma estrutura ou "armação" básica comum e pode ser personalizado de acordo com o formato de mensagem nativa particular usada pelo dispositivo médico ou sistema de dados 105A a T que será conectado ao adaptador 122A, tal como um dispositivo de distribuição de medicamento 105A. O núcleo 124 pode transferir mensagens em um formato de envio de mensagem interno entre os adaptadores 122A a T. Em uma ou mais implementações, o formato de envio de mensagem interno pode ser diferente dos formatos de mensagem nativos usados por um ou mais dos dispositivos médicos e sistemas de dados 105A a T. O formato de envio de mensagem interno é comum a todas as mensagens de formato de envio de mensagem interno independentemente de qual dos adaptadores 122A a T fornece a mensagem de formato de envio de mensagem interno ou qual dos adaptadores 122A a T recebe a mensagem de formato de envio de mensagem interno.
[0041] Os adaptadores 122A a T podem, cada um, ser associados com uma ou mais filas em um banco de dados que pode fornecer armazenamento persistente das mensagens de formato de envio de mensagem interno que são recebidas e/ou transferidas pelos adaptadores 122A a T. Desse modo, qualquer mensagem que é transferida através do CCS 120 pode ser armazenada em uma fila antes de ser direcionada para seu destino. Por exemplo, quando uma mensagem chega a um adaptador 122A em particular, tal como a partir de um dispositivo de distribuição de medicamento 105A, a mensagem é armazenada em uma fila associada com o adaptador 122A. O adaptador 122A pode processar as mensagens em sua fila em uma base de primeiro a entrar primeiro a sair, ou qualquer outra base. Desse modo, quando o adaptador 122A recupera uma mensagem de sua fila, o adaptador 122A determina o destino da mensagem e transfere a mensagem para o adaptador apropriado, tal como o adaptador 122J. Entretanto, a mensagem permanece na fila do adaptador 122A até que o adaptador 122A receba uma indicação do dispositivo de distribuição de medicamento 105 A de que a mensagem foi recebida pelo sistema de administração de medicamento 105J.
[0042] Em uma ou mais implementações, as filas de mensagem podem representar três pontos de inspeção que, em uma configuração- padrão, são parte da vida útil de uma mensagem. Os três pontos de inspeção podem ser uma Fila de Entrada (InQ), a Fila de Saída Padrão (StdOutQ), e a Fila de Saída (OutQ). Se o CCS 120 encerrar a qualquer momento, o processamento das mensagens irá recomeçar no ponto de inspeção anterior de cada mensagem devido ao uso das filas. Além disso, qualquer mensagem que é transferida através do CCS 120 pode ser rastreada com base na localização da mensagem em qualquer uma das filas, ou com base em quaisquer pontos de inspeção adicionais no CCS 120. Por exemplo, um componente de registro de dados do CCS 120 pode inserir mensagens de log em um banco de dados do CCS 120 dependendo do tipo de mensagens de log, por exemplo, diferentes tipos de eventos no CCS 120. Uma entrada de log no banco de dados pode incluir uma indicação de uma data/hora de um evento, tal como um carimbo de data e hora, uma categoria, uma mensagem de log e um proprietário de log.
[0043] O CCS 120 pode fornecer uma interface de usuário que inclui um visualizador de log para visualizar logs. O visualizador de log pode permitir que um usuário rastreie todas as mensagens relacionadas de qualquer mensagem em um grupo. Se uma mensagem foi removida, a mensagem pode incluir um indicador de onde a mensagem foi removida e falhou em completar sua vida útil, por exemplo, a vida útil da mensagem pode começar quando uma mensagem entra no CCS 120 e pode completar quando a mensagem deixa o CCS 120. O visualizador de log pode permitir que mensagens sejam analisadas com base em um ou mais formatos, tais como mensagens Pyxis. Mensagens de Nível de Integridade 7 (HL7), etc. O visualizador de log pode também indicar regras de negócio que podem ter feito uma mensagem ser removida. O visualizador de log pode permitir que um usuário desempenhe pesquisas de rastro de mensagem no nível de solução, no nível de serviço, e/ou por toda a IDN. Em uma ou mais implementações, o visualizador de log pode ser um aplicativo de web e pode incluir uma ou mais interfaces de usuário discutidas abaixo em relação às Figuras 15 a 21.
[0044] Em uma ou mais implementações, núcleo 124 transfere mensagens de formato de envio de mensagem interno de um primeiro adaptador 122A para um ou mais segundos adaptadores 122B a T de acordo com informações fornecidas pelo primeiro adaptador 122A, que dessa forma funciona em um modo de comunicação de "envio por push". Em uma ou mais implementações, o núcleo 124 funciona apenas para transferir mensagens de formato de envio de mensagem interno entre adaptadores 122A a T e não processa as mensagens de formato de envio de mensagem interno. Em uma ou mais implementações, um CCS 120 pode incluir um ou mais adaptadores 122A a T que podem ser conectados a dispositivos externos em múltiplos locais físicos. Em uma ou mais implementações onde o núcleo 124 inclui múltiplos serviços de CCS que são associados com diferentes adaptadores 122A a T, os serviços de CCS podem transferir mensagens de formato de envio de mensagem interno entre si, por exemplo, de um adaptador 122A de um serviço de CCS para um adaptador 122B de outro serviço de CCS.
[0045] O CCS 120 cria uma camada de abstração entre os dispositivos médicos e sistemas de dados 105A a T, de tal modo que qualquer dispositivo médico ou sistema de dados 105A a T de envio ou dispositivo médico ou sistema de dados 105A a T de destino não tenha que saber os detalhes dos outros dispositivos médicos e sistemas de dados 105A a T no sistema hospitalar 100 ou na IDN, mas apenas precise saber os dados e protocolos com os quais é normalmente configurado para operar. Por exemplo, uma máquina de distribuição automática (ADM) pode conter dados relacionados a inventário, mas o sistema de infusão pode apenas se importar com as informações de inventário dos fármacos que infundem através de uma bomba de infusão em um sistema de infusão. Conforme outro exemplo, o sistema de Ponto de Atendimento (POC) pode ser configurado apenas para se preocupar com aletas de uma substituição de medicamento, mas nada mais de um sistema de distribuição.
[0046] A Figura 2 ilustra uma implantação extensível exemplificativa 200 de um sistema de comunicação centralizado em um sistema hospitalar de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das cláusulas estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0047] A implantação extensível exemplificativa 200 pode incluir um ou mais dispositivos médicos 210, um ou mais sistemas de dados 220, um ou mais usuários 230, um ou mais servidores 240A a C e um ou mais servidores de banco de dados 250. O um ou mais dispositivos médicos 210 pode incluir qualquer dos dispositivos médicos mencionados anteriormente que podem ser usados em um sistema hospitalar, tais como bombas, sistemas de infusão, etc. O um ou mais sistemas de dados 220 podem ser qualquer um dentre os sistemas de dados mencionados anteriormente que podem se comunicar com os dispositivos médicos do sistema hospitalar, tal como um sistema de ADT, um sistema de EMR, etc. O um ou mais usuários 230 podem ser usuários que gerenciam as soluções de integração para um ou mais dos dispositivos médicos 210 e/ou dos sistemas de dados 220, usuários que implantam as soluções de integração, ou geralmente qualquer usuário administrativo ou de gerenciamento.
[0048] Os servidores 240A a C e o servidor de banco de dados 250 podem representar um ou mais dispositivos de computação que incluem uma memória e um ou mais processadores, tal como o dispositivo de computação discutido abaixo em relação à Figura 23. Os servidores 240A a B podem hospedar um ou mais adaptadores 242A a D e um ou mais serviços 244A a C. Os serviços 244A a C podem, cada um, incluir pelo menos um serviço de CCS que é executado nos servidores 240A a B. Em uma ou mais implementações, os serviços 244A a C podem ser hospedados em qualquer um dos servidores 240A a C. Os servidores 240A a B podem também incluir agentes 245A a B que podem ser processos que são executados nos servidores 240A a B; os agentes 245A a B podem estar em comunicação com o servidor 240C. O servidor 240C pode hospedar um aplicativo de console de gerenciamento 246 e um ou mais serviços de console de gerenciamento 248, tais como serviços de Servidor de Informações de Internet (IIS). Em uma ou mais implementações, o aplicativo de console de gerenciamento 246 pode ser um aplicativo de web.
[0049] O servidor de banco de dados 250 pode hospedar pelo menos uma instância de banco de dados 252, tal como uma instância de SQL. Os bancos de dados 254A a C utilizados pelos servidores 240A a C podem todos existir em uma única instância de banco de dados 252 no servidor de banco de dados 250. Alternativamente, os bancos de dados 254A a C pode existir por múltiplas instâncias de banco de dados 252 no servidor de banco de dados 250. Pode haver um banco de dados separado 254A a B na instância de banco de dados 252 para cada solução de integração, ou agrupamento de serviço, que é implantado. Em uma ou mais implementações, um agrupamento de serviço pode representar uma solução de integração para um dado sistema de dados ou conjunto de dispositivos de paciente que inclui um grupo de serviços que compartilha filas e um banco de dados. Um agrupamento de serviço em um sistema hospitalar opera independentemente de outros agrupamentos de serviço no hospital e um agrupamento de serviço pode ser configurado, gerenciado, implantado e aprimorado independente dos outros agrupamentos de serviço em um sistema hospitalar. Por exemplo, uma dada implantação pode incluir um agrupamento de serviço para uma solução de integração de infusão, um agrupamento de serviço para uma solução de integração de distribuição, etc.
[0050] Por exemplo, na Figura 2 os serviços 244A a B podem ser parte de um agrupamento de serviço que acessa o banco de dados 254A e o serviço 244C pode ser parte de um agrupamento de serviço que acessa o banco de dados 254B. O banco de dados de console de gerenciamento 254C pode armazenar informações que dizem respeito ao aplicativo de console de gerenciamento 246. Os serviços 244A a C podem ser empregados nos servidores 240A a B pelo aplicativo de console de gerenciamento 246, por exemplo, conforme discutido abaixo em relação às Figuras 3 e 4.
[0051] A Figura 3 ilustra um fluxograma do processo exemplificativo 300 para um sistema de implantação extensível de acordo com uma ou mais implementações. Para propósitos explicativos, os blocos do processo exemplificativo 300 são descritos no presente documento conforme ocorrem em série, ou de modo linear. Entretanto, múltiplos blocos do processo exemplificativo 300 podem ocorrer em paralelo. Além disso, os blocos do processo exemplificativo 300 não precisam ser desempenhados na ordem mostrada e/ou um ou mais dos blocos do processo exemplificativo 300 não precisam ser desempenhados.
[0052] No bloco 302, um usuário que interage com o aplicativo de console de gerenciamento 246 pode criar um banco de dados de implantação, tal como o banco de dados de console de gerenciamento 254C. Por exemplo, um usuário pode criar um banco de dados de implantação por interação com a interface de usuário discutida abaixo em relação à Figura 8. No bloco 304, um usuário que interage com o aplicativo de console de gerenciamento 246 pode identificar um servidor 240A que irá hospedar pelo menos um serviço 244A, tal como se fornecendo um nome e um endereço de rede do servidor 240A. Por exemplo, um usuário pode identificar um servidor 240A por interação com a interface de usuário discutida abaixo em relação à Figura 9.
[0053] No bloco 306, um usuário que interage com o aplicativo de console de gerenciamento 246 pode adicionar um agrupamento de serviço, que pode também ser denominado solução, tal como se fornecendo um nome do agrupamento de serviço e identificando-se um servidor 240A que irá hospedar pelo menos um serviço 244A do agrupamento de serviço. Um agrupamento de serviço, ou solução, pode ser um grupo de serviços, tais como serviços 244A a B, que compartilham enfileiramento e um banco de dados, tal como o banco de dados 254A. Em um exemplo, um usuário pode adicionar um agrupamento de serviço por interação com a interface de usuário discutida abaixo em relação à Figura 9. O servidor 240C pode gerar um banco de dados 254A para o agrupamento de serviço quando o agrupamento de serviço é adicionado, conforme discutido adicionalmente abaixo em relação à Figura 4.
[0054] No bloco 308, um usuário que interage com o aplicativo de console de gerenciamento 246 pode adicionar um serviço 244A ao agrupamento de serviço criado no bloco 306, tal como se fornecendo um nome do serviço 244A, um tipo do serviço e um identificador do servidor 240A que irá hospedar o serviço 244A. Por exemplo, um usuário pode adicionar um serviço 244A por interação com a interface de usuário discutida abaixo em relação à Figura 11. No bloco 310, um usuário que interage com o aplicativo de console de gerenciamento 246 pode começar o serviço 244A criado no bloco 308. Por exemplo, um usuário pode começar um serviço 244A por interação com a interface de usuário discutida abaixo em relação à Figura 12.
[0055] Um usuário pode repetir um ou mais dos blocos 304 a 310 para criar outro agrupamento de serviço dentro da implantação. Alternativamente, ou além disso, um usuário pode repetir um ou mais dos blocos 304 e 308 a 310 para adicionar um serviço adicional a um agrupamento de serviço existente. Dessa maneira, um usuário pode implantar múltiplos agrupamentos de serviço independentes dentro de uma IDN que pode ser gerenciada e aprimorada individualmente.
[0056] A Figura 4 ilustra um fluxograma do processo exemplificativo 400 para um sistema de implantação extensível de acordo com uma ou mais implementações. Para propósitos explicativos, os blocos do processo exemplificativo 400 são descritos no presente documento conforme ocorrem em série, ou de modo linear. Entretanto, múltiplos blocos do processo exemplificativo 400 podem ocorrer em paralelo. Além disso, os blocos do processo exemplificativo 400 não precisam ser desempenhados na ordem mostrada e/ou um ou mais dos blocos do processo exemplificativo 400 não precisam ser desempenhados.
[0057] No bloco 402, um servidor 240C recebe a solicitação para criar um agrupamento de serviço, tal como a partir de um usuário que interage com o aplicativo de console de gerenciamento 246. A solicitação pode incluir um nome do agrupamento de serviço e um identificador de um servidor 240A que irá hospedar pelo menos um serviço 244A do agrupamento de serviço. O servidor 240C pode ter sido configurado anteriormente para recuperar e armazenar informações em um banco de dados de console de gerenciamento 254C. Em uma ou mais implementações, o servidor 240C pode armazenar o nome do agrupamento de serviço no banco de dados de console de gerenciamento 254C.
[0058] No bloco 404, o servidor 240C pode recuperar scripts para criar um banco de dados 254A para o agrupamento de serviço a partir de um agente 245A que é executado no servidor 240A identificado na solicitação. Por exemplo, o servidor 240C pode transmitir uma mensagem para o agente 245A que solicita os scripts para criar o banco de dados 254A. Em uma ou mais implementações, os scripts podem ser específicos para o agrupamento de serviço identificado no bloco 402 e podem ser aprimorados ou mudados independente dos scripts usados para gerar bancos de dados para quaisquer outros agrupamentos de serviço.
[0059] No bloco 406, o servidor 240C pode gerar o banco de dados 254A para o agrupamento de serviço dentro da instância de banco de dados 252. Por exemplo, o servidor 240C pode executar os scripts recuperados no bloco 404 para gerar o banco de dados 254A na instância de banco de dados 252. O servidor 240C pode definir o nome do banco de dados 254A como sendo, ou para incluir pelo menos uma porção de, o nome do agrupamento de serviço. Por exemplo, o nome do agrupamento de serviço pode ser um prefixo ou sufixo para o nome do banco de dados 254A. Em uma ou mais implementações, o servidor 240C pode armazenar o nome do banco de dados 254A e uma associação entre o nome do banco de dados 254A e o nome do agrupamento de serviço, no banco de dados de console de gerenciamento 254C.
[0060] No bloco 408, o servidor 240C pode receber uma solicitação para criar um serviço 244A como parte do agrupamento de serviço criado no bloco 402, tal como a partir de um usuário que interage com o aplicativo de console de gerenciamento 246. A solicitação pode identificar o servidor 240A em que o serviço 244A será implantado. No bloco 410, o servidor 240C pode transmitir um comando para o agente 245A que é executado no servidor 240A que instrui o agente 245A a criar o serviço 244A. O agente 245A pode criar o serviço 244A e o agente 245A pode configurar o serviço 244A para acessar o banco de dados 254A.
[0061] No bloco 412, o servidor 240C pode fornecer uma indicação de que o serviço 244A foi criado no servidor 240A como parte do agrupamento de serviço identificado. Por exemplo, o servidor 240C pode fornecer uma interface de usuário a um usuário que interage com o aplicativo de console de gerenciamento 246 que indica que o serviço 244A foi criado e/ou fornece um estado do serviço. Por exemplo, o servidor 240C pode fornecer ao usuário uma interface de usuário discutida abaixo em relação à Figura 14.
[0062] No bloco 414, o servidor 240C pode receber uma solicitação para começar o serviço 244A. Por exemplo, um usuário que interage com o aplicativo de console de gerenciamento 246 pode transmitir uma solicitação para começar o serviço 244A para o servidor 240C. No bloco 416, o servidor 240C pode transmitir um comando para o agente 245A que é executado no servidor 240A que instrui o agente 245A a iniciar o serviço 244A.
[0063] A Figura 5 ilustra um fluxograma do processo exemplificativo 500 para autenticação de usuário em um sistema de implantação extensível de acordo com uma ou mais implementações. Para propósitos explicativos, os blocos do processo exemplificativo 500 são descritos no presente documento conforme ocorrem em série, ou de modo linear. Entretanto, múltiplos blocos do processo exemplificativo 500 podem ocorrer em paralelo. Além disso, os blocos do processo exemplificativo 500 não precisam ser desempenhados na ordem mostrada e/ou um ou mais dos blocos do processo exemplificativo 500 não precisam ser desempenhados.
[0064] No bloco 502, o servidor 240C pode receber uma solicitação de autenticação de usuário, tal como uma solicitação recebida de um usuário que tenta acessar o aplicativo de console de gerenciamento 246. Em uma ou mais implementações, a solicitação de autenticação de usuário pode incluir um identificador de usuário e uma senha. Por exemplo, o servidor 240C pode fornecer uma interface de logon de usuário para um usuário que interage com o aplicativo de console de gerenciamento 246. Em uma ou mais implementações, o servidor 240C pode autoassinar um certificado de segurança e pode fornecer o certificado autoassinado ao usuário que interage com o aplicativo de console de gerenciamento 246, o que dessa forma permite que as credenciais de logon do usuário sejam transmitidas por uma conexão segura, tal como uma conexão de Camada de Soquetes Seguros (SSL). O certificado autoassinado pode incluir, por exemplo, o nome do servidor 240C, o endereço de rede do servidor 240C, ou quaisquer outras informações de identificação que dizem respeito ao servidor 240C. Em uma ou mais implementações, o certificado autoassinado pode ser gerado dinamicamente no momento em que o servidor 240C é implantado.
[0065] No bloco 504, o servidor 240C pode determinar se o identificador de usuário da solicitação de autenticação de usuário existe em um banco de dados de usuário local, tal como o banco de dados de console de gerenciamento 254C. Se, no bloco 504, o servidor 240C determinar que o identificador de usuário existe no banco de dados de usuário local, o servidor 240C se move para o bloco 506. No bloco 506, o servidor 240C recupera informações de perfil de usuário associadas com o identificador de usuário do banco de dados de usuário local. No bloco 508, o servidor 240C determina quanto a se as informações de perfil de usuário indicam que o identificador de usuário é de um sistema de autenticação externa, tal como um sistema de Diretório Ativo ou qualquer outro sistema de autenticação externa. Por exemplo, as informações de perfil de usuário pode incluir uma indicação de quanto a se o identificador de usuário é um identificador de usuário local, por exemplo, um identificador de usuário interno, ou um identificador de usuário externo. Alternativamente, ou além disso, se o servidor 240C autenticar usuários através de múltiplos sistemas de autenticação externa, as informações de perfil de usuário podem incluir uma indicação de um sistema de autenticação externa em particular quando o identificador de usuário é de um sistema de autenticação externa.
[0066] Se, no bloco 508, o servidor 240C determinar que o identificador de usuário é de um sistema de autenticação externa, por exemplo, o identificador de usuário for um identificador de usuário externo, o servidor 240C se move para o bloco 510. No bloco 510, o servidor 240C autentica o identificador de usuário através de um sistema de autenticação externa. Por exemplo, o servidor 240C pode transmitir de modo seguro as credenciais de logon do usuário, tal como o identificador de usuário e uma senha, para o sistema de autenticação externa. Se, no bloco 508, o servidor 240C determinar que o identificador de usuário não é de um sistema de autenticação externa, por exemplo, o identificador de usuário for um identificador de usuário interno, o servidor 240C se move para o bloco 512. No bloco 512, o servidor 240C autentica o usuário através do sistema de autenticação de usuário local. Por exemplo, o servidor 240C pode verificar quanto a se as credenciais de logon do usuário, por exemplo, o identificador de usuário e uma senha, combina com informações armazenadas no banco de dados de usuário local.
[0067] Se, no bloco 514, o servidor 240C determinar que a autenticação do usuário teve sucesso, o servidor 240C se move para o bloco 518. No bloco 518, o servidor 240C concede ao usuário acesso ao aplicativo de console de gerenciamento 246. Por exemplo, o servidor 240C pode fornecer ao usuário uma interface de usuário discutida abaixo em relação à Figura 13. Se, no bloco 514, o servidor 240C determinar que a autenticação não teve sucesso, o servidor 240C se move para o bloco 516. No bloco 516, o servidor 240C nega ao usuário acesso ao aplicativo de console de gerenciamento 246.
[0068] Se, no bloco 504, o servidor 240C determinar que o identificador de usuário não existe no banco de dados de usuário local, o servidor 240C se move para o bloco 520. No bloco 520, o servidor 240C autentica o identificador de usuário através de um sistema de autenticação externa. Por exemplo, o servidor 240C pode transmitir de modo seguro as credenciais de logon do usuário, tal como o identificador de usuário e uma senha, para um sistema de autenticação externa. Se o servidor 240C autenticar usuários através de múltiplos sistemas de autenticação externa, o servidor 240C pode tentar autenticar as credenciais de logon do usuário com cada um dos sistemas de autenticação externa.
[0069] Se, no bloco 522, o servidor 240C determinar que a autenticação do usuário teve sucesso, o servidor 240C se move para o bloco 524. No bloco 524, o servidor 240C adiciona o identificador de usuário externo ao banco de dados de usuário local junto com uma indicação de que o identificador de usuário deve ser autenticado através de um sistema de autenticação externa. Se o servidor 240C autenticar usuários através de múltiplos sistemas de autenticação externa, o servidor 240C pode também armazenar uma indicação do sistema de autenticação externa em particular através do qual o usuário é autenticado. No bloco 524, o servidor 240C concede ao usuário acesso ao aplicativo de console de gerenciamento 246. Por exemplo, o servidor 240C pode fornecer ao usuário uma interface de usuário discutida abaixo em relação à Figura 13. Se, no bloco 522, o servidor 240C determinar que a autenticação não teve sucesso, o servidor 240C se move para o bloco 516. No bloco 516, o servidor 240C nega ao usuário acesso ao aplicativo de console de gerenciamento 246.
[0070] A Figura 6 ilustra um fluxo de trabalho exemplificativo 600 de um sistema de implantação extensível de acordo com uma ou mais implementações. Para propósitos explicativos, as etapas do fluxo de trabalho exemplificativo 600 são descritas no presente documento conforme ocorrem em série, ou de modo linear. Entretanto, múltiplas etapas do fluxo de trabalho exemplificativo 600 podem ocorrer em paralelo. Além disso, as etapas do fluxo de trabalho exemplificativo 600 não precisam ser desempenhadas na ordem mostrada e/ou um ou mais dos blocos do fluxo de trabalho exemplificativo 600 não precisam ser desempenhados.
[0071] O fluxo de trabalho 600 pode incluir usuários 230, servidores 240B e 240C e um servidor de banco de dados 250. O servidor 240B pode incluir um agente 245B e um ou mais componentes 605, tais como serviços locais, serviços de web, e/ou informações de configuração. O servidor 240C pode incluir um aplicativo de console de gerenciamento 246 e serviços de console de gerenciamento 248. O servidor de banco de dados 250 pode incluir pelo menos uma instância de banco de dados 252 que pode incluir um banco de dados de console de gerenciamento 254C e um banco de dados 254B.
[0072] Na etapa 610, mediante recebimento de uma solicitação para criar um agrupamento de serviço, um console de gerenciamento de implantação dos serviços de console de gerenciamento 248 pode registrar os ambientes centrais para o agrupamento de serviço. Na etapa 620, o console de gerenciamento de implantação dos serviços de console de gerenciamento 248 cria os componentes de banco de dados do banco de dados 254B para o agrupamento de serviço, tal como com o uso de scripts recuperados do agente 245B.
[0073] Na etapa 630, o console de gerenciamento de implantação dos serviços de console de gerenciamento 248 registra os componentes de banco de dados do banco de dados 254B na instância de banco de dados 252 registrada, tal como através do banco de dados de console de gerenciamento 254C. Na etapa 640, o console de gerenciamento de implantação dos serviços de console de gerenciamento 248 cria os serviços no servidor 240B com os componentes que são instalados no ambiente registrado. Por exemplo, o console de gerenciamento de implantação pode transmitir um comando para o agente 245B que instrui o agente 245B a criar o serviço 244C no servidor 240B.
[0074] A Figura 7 ilustra um fluxo de trabalho exemplificativo 700 de autenticação de usuário em um sistema de implantação extensível de acordo com uma ou mais implementações. Para propósitos explicativos, as etapas do fluxo de trabalho exemplificativo 700 são descritas no presente documento conforme ocorrem em série, ou de modo linear. Entretanto, múltiplas etapas do fluxo de trabalho exemplificativo 700 podem ocorrer em paralelo. Além disso, as etapas do fluxo de trabalho exemplificativo 700 não precisam ser desempenhadas na ordem mostrada e/ou um ou mais dos blocos do fluxo de trabalho exemplificativo 700 não precisam ser desempenhados.
[0075] O fluxo de trabalho 700 inclui aplicativos de CCS 702, uma faixa de dados 704, uma faixa de serviços de aplicativo 706 e um sistema de autenticação externa 708. A faixa de dados 704 pode incluir tabelas de usuário, definições de função e mapeamentos de usuário para função. A faixa de serviços de aplicativo 706 pode incluir um serviço de gerenciamento de usuário, um serviço de funções, um serviço de autenticação e um serviço de gerenciamento de grupo para função. Os serviços podem ser parte dos serviços de console de gerenciamento 248 e podem ser executados no servidor 240C. O sistema de autenticação externa 708 pode incluir um ou mais grupos de usuários associados com o CCS. Em uma ou mais modalidades, o sistema de autenticação externa pode ser um serviço de Diretório Ativo do hospital ou IDN.
[0076] Na etapa 710, o serviço de autenticação de usuário recupera informações de usuário do sistema de autenticação externa 708. Por exemplo, o serviço de autenticação de usuário pode recuperar identificadores de usuário e outras informações de identificação de usuário do sistema de autenticação externa 708. Em uma ou mais implementações, o serviço de autenticação de usuário pode não recuperar senhas, ou outras informações credenciais de segurança do sistema de autenticação externa 708.
[0077] Na etapa 720, o serviço de gerenciamento de usuário pode criar perfis para os usuários recuperados do sistema de autenticação externa nas tabelas de usuário e mapeamento de usuário-função da faixa de dados 704. Por exemplo, o serviço de gerenciamento de usuário pode armazenar os perfis de usuário no banco de dados de console de gerenciamento 254C, ou outro banco de dados dentro da instância de banco de dados 252. Na etapa 730, serviço de autenticação autentica credenciais de usuário sob demanda através do sistema de autenticação externa 708, conforme discutido acima em relação à Figura 5.
[0078] A Figura 8 ilustra uma interface de usuário exemplificativa 800 para fornecer informações de configuração em um sistema de implantação extensível de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0079] A interface de usuário 800 pode incluir uma janela de configuração de implantação 810. A janela de configuração de implantação 810 pode incluir um ou mais campos de entrada e/ou seletores de entrada que um usuário pode usar para fornecer informações que podem ser usadas para uma implantação inicial de um CCS 120, tal como um identificador de uma instância de banco de dados. Em operação, o servidor 240C pode fornecer a interface de usuário 800 a um usuário através do aplicativo de console de gerenciamento 246 quando o usuário solicita criar uma nova implantação. Em uma ou mais implementações, em resposta ao usuário fornecer informações de implantação através da interface de usuário 800, o servidor 240C pode criar o banco de dados de implantação, tal como o banco de dados de console de gerenciamento 254C e associar a implantação com uma instância de banco de dados 252.
[0080] A Figura 9 ilustra uma interface de usuário exemplificativa 900 para adicionar um servidor em um sistema de implantação extensível de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0081] A interface de usuário 900 pode incluir uma janela de adição de servidor 910. A janela de adição de servidor 910 pode incluir um ou mais campos de entrada e/ou seletores de entrada para fornecer informações relacionadas a um servidor que é adicionado a uma implantação, tal como o servidor 240A. Por exemplo, a janela de adição de servidor 910 pode incluir um campo de texto para fornecer um nome, ou um identificador, do servidor 240A e um campo de texto para fornecer um endereço de rede do servidor 240A. Em operação, o servidor 240C pode fornecer a interface de usuário 900 a um usuário através do aplicativo de console de gerenciamento 246 quando o usuário solicita adicionar um servidor a uma implantação. Em uma ou mais implementações, pode ser exigido que o usuário identifique um servidor 240A através da interface de usuário 900 antes que quaisquer agrupamentos de serviço, ou soluções, possam ser criados.
[0082] A Figura 10 ilustra uma interface de usuário exemplificativa 1000 para adicionar um agrupamento de serviço em um sistema de implantação extensível de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0083] A interface de usuário 1000 pode incluir uma janela de adição de solução 1010. A janela de adicionar solução 1010 pode incluir um ou mais campos de entrada e/ou seletores de entrada para fornecer informações relacionadas a um agrupamento de serviço (ou solução) que é adicionado à implantação, tal como um nome do agrupamento de serviço e um identificador de um servidor 240A que irá hospedar pelo menos um serviço do agrupamento de serviço. Em operação, o servidor 240C pode fornecer a interface de usuário 1000 a um usuário através do aplicativo de console de gerenciamento 246 quando o usuário solicita adicionar um novo agrupamento de serviço a uma implantação. Em uma ou mais implementações, em resposta ao usuário que fornece as informações de agrupamento de serviço através da interface de usuário 1000, o servidor 240C pode se comunicar com o agente 245A no servidor 240A identificado para recuperar os scripts de banco de dados e o servidor 240C pode usar os scripts de banco de dados para criar o banco de dados 254A na instância de banco de dados 252.
[0084] A Figura 11 ilustra uma interface de usuário exemplificativa 1100 para adicionar um serviço a um agrupamento de serviço em um sistema de implantação extensível de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0085] A interface de usuário 1100 pode incluir uma janela de adição de serviço 11 10. A janela de adição de serviço 1110 pode incluir um ou mais campos de entrada e/ou seletores de entrada para fornecer informações relacionadas a um serviço 244A que é adicionado a um agrupamento de serviço (ou solução) de uma implantação, tal como o nome do serviço 244A, um tipo do serviço 244A e um identificador do servidor 240A que irá hospedar o serviço 244A. Em operação, o servidor 240C pode fornecer a interface de usuário 1100 a um usuário através do aplicativo de console de gerenciamento 246 quando o usuário solicita adicionar um novo serviço 244A a um agrupamento de serviço. Em uma ou mais implementações, em resposta ao usuário fornecer as informações de serviço através da interface de usuário 1100, o servidor 240C pode se comunicar com o agente 245A no servidor 240A identificado para criar o serviço 244 A.
[0086] A Figura 12 ilustra uma interface de usuário exemplificativa 1200 para iniciar um serviço em um sistema de implantação extensível de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0087] A interface de usuário 1200 pode incluir uma janela confirmação 1210. A janela de confirmação 1210 pode incluir um ou mais seletores de entrada que podem ser usados por um usuário para confirmar que um serviço 244A selecionado deve ser começado. Em operação, servidor 240C pode fornecer a interface de usuário 1200 a um usuário através do aplicativo de console de gerenciamento 246 quando o usuário solicita iniciar um serviço 244A existente, ou após um novo serviço 244A é adicionado a um agrupamento de serviço. Em uma ou mais implementações, em resposta ao usuário confirmar que o serviço 244A deve ser começado, o servidor 240C pode se comunicar com o agente 245A no servidor 240A identificado para começar, ou iniciar o serviço 244A. O serviço 244A pode ser comunicar com o banco de dados de implantação, tal o banco de dados de console de gerenciamento 254C, na inicialização para determinar qual dos bancos de dados 254A a B deve ser usado pelo serviço.
[0088] A Figura 13 ilustra uma interface de usuário exemplificativa 1300 para gerenciar agrupamentos de serviço em um sistema de implantação extensível de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0089] A interface de usuário 1300 pode permitir que um usuário selecione um agrupamento de serviço para gerenciar após os agrupamentos de serviço terem sido implantados e configurados. A interface de usuário 1300 pode incluir seletores de agrupamento de serviço 131OA a C. Os seletores de agrupamento de serviço 131OA a C podem cada um identificar um agrupamento de serviço (ou solução) diferente. Um usuário pode selecionar qualquer um dos agrupamentos de serviço identificados clicando-se nos seletores de agrupamento de serviço 131OA a C. Em uma ou mais implementações, os seletores de agrupamento de serviço 1310A a C podem também incluir um seletor para deletar, ou remover, os agrupamentos de serviço identificados. Em operação, o servidor 240C pode fornecer a interface de usuário 1300 a um usuário através do aplicativo de console de gerenciamento 246 quando o usuário faz logon pela primeira vez no aplicativo de console de gerenciamento 246, ou após um usuário criar um agrupamento de serviço. Em uma ou mais implementações, em resposta ao usuário selecionar um dos seletores de agrupamento de serviço 131OA a C, o servidor 240C pode fornecer ao usuário a interface de usuário 1400 que lista os serviços configurados para o agrupamento de serviço selecionado.
[0090] A Figura 14 ilustra uma interface de usuário exemplificativa 1400 para gerenciar serviços de um agrupamento de serviço em um sistema de implantação extensível de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0091] A interface de usuário 1400 pode incluir um ou mais seletores de configuração 1410 e um ou mais seletores de serviço 1420A a B. Um usuário pode selecionar um dos seletores de configuração 1410 para configurar um ou mais aspetos de um agrupamento de serviço selecionado, tais como filtros, procedimentos, filas, etc. Em uma ou mais modalidades, os seletores de serviço 1420A a B podem incluir um ou mais seletores gráficos que podem ser selecionados para desempenhar várias operações em relação a um serviço selecionado, tal como editar um serviço selecionado, remover um serviço selecionado, etc. Uma interface de usuário 1400 pode também permitir que um usuário pare/comece serviços, adicione novos serviços, ou visualize quaisquer das interfaces de configuração para o agrupamento de serviço selecionado. Em operação, o servidor 240C pode fornecer a interface de usuário 1400 a um usuário através do aplicativo de console de gerenciamento 246 quando o usuário seleciona um agrupamento de serviço, tal como através da interface de usuário 1300.
[0092] A Figura 15 ilustra uma interface de usuário exemplificativa para rastreamento de mensagem em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0093] A interface de usuário 1500 pode incluir um seletor de aba 1505, uma seção de filtro 1510, uma seção de aperfeiçoamento 1520 e uma janela de exibição 1530. Em operação, um usuário pode rastrear mensagens transmitidas pelos serviços 244A a C com o uso da interface de usuário 1500. Por exemplo, o usuário pode introduzir critérios de filtro na seção de filtro 1510 para filtrar mensagens e o usuário pode aperfeiçoar os critérios de filtro na seção de aperfeiçoamento 1520. O usuário pode visualizar as mensagens que combinam com a filtragem e/ou pesquisa na janela de exibição 1530. O usuário pode selecionar qualquer uma das mensagens na janela de exibição 1530 para visualizar o conteúdo da mensagem inteiro, tal como por clique duplo em uma mensagem. O usuário pode usar o seletor de aba 1505 para criar uma nova aba em que uma segunda operação de rastreamento de mensagem pode ser desempenhada independente da operação de rastreamento de mensagem da janela de exibição 1530.
[0094] A Figura 16 ilustra uma interface de usuário exemplificativa 1600 para filtrar rastreamento de mensagem em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0095] A interface de usuário 1600 pode incluir uma janela de filtro avançado 1610. A janela de filtro avançado 1610 pode incluir critérios de filtro avançado 1615A a B. Um usuário pode usar a janela de filtro avançado 1610 para desempenhar filtragem avançada em rastreamento de mensagem, tal como se combinando logicamente múltiplos critérios de filtro através do uso de operadores Booleanos.
[0096] A Figura 17 ilustra uma interface de usuário exemplificativa 1700 para pesquisar rastreamento de mensagem em um formato de texto em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0097] A interface de usuário 1700 inclui um seletor de aba 1505, uma seção de informações de filtro 1710, um ou mais seletor de aba de formato de saída 1740, um campo de pesquisa 1720, uma janela de exibição 1730 e um resultado de pesquisa combinado 1735. A janela de exibição 1730 pode exibir o conteúdo de uma mensagem selecionada em forma textual, tal como uma mensagem selecionada por um usuário na interface de usuário 1500. Um usuário pode usar o campo de pesquisa 1720 da interface de usuário 1700 para pesquisar por um termo ou termos em particular dentro do conteúdo da mensagem exibida na janela de exibição 1730. Por exemplo, o usuário pode introduzir um termo de pesquisa no campo de pesquisa 1720 e quaisquer resultados de pesquisa combinados 1735 dentro do conteúdo da mensagem podem ser destacados na janela de exibição 1730. O usuário pode visualizar os resultados de pesquisa em uma forma ou um formato diferente através da seleção de um dos seletores de aba de formato de saída 1740.
[0098] A Figura 18 ilustra uma interface de usuário exemplificativa 1800 para pesquisar rastreamento de mensagem em um formato de grade em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[0099] A interface de usuário 1800 inclui um seletor de aba 1505, uma seção de informações de filtro 1710, um seletor de aba de formato de saída 1840, um campo de pesquisa 1720, uma janela de exibição 1830 e uma fileira combinada 1835. A janela de exibição 1830 pode exibir o conteúdo de uma mensagem selecionada em uma grade de dados, tal como uma mensagem selecionada por um usuário na interface de usuário 1500. Um usuário pode usar o campo de pesquisa 1720 da interface de usuário 1800 para pesquisar por um termo ou termos em particular dentro do conteúdo da mensagem exibida na janela de exibição 1830. Por exemplo, o usuário pode introduzir um termo de pesquisa no campo de pesquisa 720 e quaisquer fileiras combinadas 835 dentro do conteúdo da mensagem podem ser destacadas na janela de exibição 830. Em operação, o usuário pode ser dotado da interface de usuário 1800 quando o usuário seleciona o seletor de aba de formato de saída 1740 da "Grade" da interface de usuário 1700.
[00100] A Figura 19 ilustra uma interface de usuário exemplificativa 1900 para pesquisar rastreamento de mensagem em um formato de nível de integridade 7 (HL7) em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[00101] A interface de usuário 1900 inclui um seletor de aba 1505, a seção de informações de filtro 1710, a seletor de aba de formato de saída 1940, a campo de pesquisa 1720, e a janela de exibição 1930. A janela de exibição 1930 pode incluir uma janela de campo 1932 que inclui um campo combinado 1935 e uma janela de segmento 1934 que inclui um segmento combinado 1937. A janela de exibição 1930 pode exibir os campos de HL7 de uma mensagem selecionada agrupada por segmentos, tal como uma mensagem selecionada por um usuário na interface de usuário 1500. Um usuário pode usar o campo de pesquisa 1720 da interface de usuário 1900 para pesquisar por um termo ou termos em particular dentro da janela de campo 1932 e da janela de segmento 1934. Por exemplo, o usuário pode introduzir um termo de pesquisa no campo de pesquisa 1720 e quaisquer campos combinados 1935 e/ou segmentos combinados 1937 podem ser destacados na janela de exibição 1930. Em operação, o usuário pode ser dotado da interface de usuário 1900 quando o usuário seleciona o seletor de aba de formato de saída "HL7" 1740 da interface de usuário 1700.
[00102] A Figura 20 ilustra uma interface de usuário exemplificativa 2000 para pesquisar rastreamento de mensagem em um formato de linguagem de marcação extensível (XML) em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[00103] A interface de usuário 2000 inclui um seletor de aba 1505, uma seção de informações de filtro 1710, um seletor de aba de formato de saída 2040, um campo de pesquisa 1720, uma janela de exibição 2030 e um elemento combinado 2035. A janela de exibição 2030 pode exibir os elementos de XML e valores de uma mensagem selecionada em um modo de exibição de árvore, tal como uma mensagem selecionada por um usuário na interface de usuário 1500. Um usuário pode usar o campo de pesquisa 1720 da interface de usuário 2000 para pesquisar por um termo ou termos em particular dentro dos elementos ou valores da mensagem exibida na janela de exibição 2030. Por exemplo, o usuário pode introduzir um termo de pesquisa no campo de pesquisa 1720 e quaisquer elementos combinados 2035 e os valores correspondentes, podem ser destacados na janela de exibição 2030. Em operação, o usuário pode ser dotado da interface de usuário 2000 quando o usuário seleciona o seletor de aba de formato de saída "XML" 2040.
[00104] A Figura 21 ilustra uma interface de usuário exemplificativa 2100 para rastreamento de mensagem com múltiplas abas em um sistema de comunicação centralizado implantado de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[00105] A interface de usuário 2100 pode incluir seletores com múltiplas abas 1505, a seção de filtro 1510, a seção de aperfeiçoamento 1520, e a janela de exibição 1530. Em operação, um usuário pode rastrear mensagens transmitidas pelos serviços 242A a D com o uso da interface de usuário 2100. O usuário pode usar os seletores de aba 1505 para visualizar abas de pesquisa diferentes que cada uma pode ter seus próprios critérios de pesquisa. As abas podem carregar ativamente resultados de pesquisa concorrentemente.
[00106] A Figura 22 ilustra uma interface de usuário exemplificativa 2200 para gerenciamento de usuário em um sistema de implantação extensível de acordo com uma ou mais implementações. Nem todos os componentes retratados podem ser exigidos, entretanto, uma ou mais implementações podem incluir componentes adicionais não mostrados na figura. Variações na disposição e tipo dos componentes podem ser feitas sem desviar do espírito ou escopo das reivindicações conforme estabelecidas no presente documento. Componentes adicionais, diferentes ou em menos quantidade podem ser fornecidos.
[00107] A interface de usuário 2200 inclui uma seção de gerenciamento de usuário-função 2210, uma seção de seleção de usuário 2220 e uma seção de informações de usuário 2230 e uma seção de associações de função 2235. Um usuário, tal como um usuário administrativo, pode selecionar gerenciar tanto usuários quanto funções na seção de gerenciamento de usuário-função 2210. O usuário administrativo pode selecionar um usuário para modificar, ou adicionar um novo usuário, na seção de seleção de usuário 2220. O usuário administrativo pode modificar um perfil do usuário selecionado, ou um novo perfil de usuário na seção de informações de usuário 2230 e o usuário administrativo pode modificar associações de função na seção de associações de função 2235.
[00108] A Figura 23 ilustra conceitualmente o sistema eletrônico 2300 com o qual implementações da tecnologia podem ser implementadas. O sistema eletrônico 2300, por exemplo, pode ser, ou pode incluir, qualquer um dos dispositivos médicos 210, os sistemas de dados 220, o servidor de banco de dados 250, ou os servidores 240A a C, um computador de mesa, um computador portátil, um computador tipo tablet, um servidor, um comutador, um roteador, uma estação de base, um receptor, um telefone, um assistente digital pessoal (PDA), ou geralmente qualquer dispositivo eletrônico. Tal sistema eletrônico inclui vários tipos de meios legíveis por computador e interfaces para vários outros tipos de meios legíveis por computador. O sistema eletrônico 2300 inclui um barramento 2308, unidade(s) de processamento 2312, memória de sistema 2304, memória ROM (ROM) 2310, dispositivo de armazenamento permanente 2302, interface de dispositivo de entrada 2314, interface de dispositivo de saída 2306 e interface de rede 23 16, ou subconjuntos e variações dos mesmos.
[00109] O barramento 2308 coletivamente representa barramentos de sistema, periféricos e de chipset que conectam comunicativamente os diversos dispositivos internos do sistema eletrônico 2300. Em uma ou mais implementações, o barramento 2308 conecta comunicativamente unidade(s) de processamento 2312 com ROM 2310, memória de sistema 2304 e dispositivo de armazenamento permanente 2302. Destas várias unidades de memória, a(s) unidade(s) de processamento 2312 recuperam instruções para executar e dados para processar a fim de executar os processos da descrição. A(s) unidade(s) de processamento pode ser um único processador ou um processador com múltiplos núcleos em diferentes implementações.
[00110] A ROM 2310 armazena dados estáticos e instruções que são necessárias pela(s) unidade(s) de processamento 2312 e outros módulos do sistema eletrônico. O dispositivo de armazenamento permanente 2302, por outro lado, é um dispositivo de memória de leitura e gravação. Este dispositivo é uma unidade de memória não volátil que armazena instruções e dados mesmo quando o sistema eletrônico 2300 está desligado. Uma ou mais implementações da descrição usam um dispositivo de armazenamento em massa (tal como um disco magnético ou óptico e sua unidade de disco correspondente) como dispositivo de armazenamento permanente 2302.
[00111] Outras implementações usam um dispositivo de armazenamento removível (tal como um disquete, unidade flash e sua unidade de disco correspondente) como dispositivo de armazenamento permanente 2302. Como o dispositivo de armazenamento permanente 2302, a memória de sistema 2304 é um dispositivo de memória de leitura e gravação. Entretanto, diferentemente do dispositivo de armazenamento 2302, a memória de sistema 2304 é uma memória de leitura e gravação volátil, tal como uma memória de acesso aleatório. A memória de sistema 2304 armazena qualquer uma das instruções e dados que a(s) unidade(s) de processamento 2312 precisam no tempo de execução. Em uma ou mais implementações, os processos da descrição são armazenados em memória de sistema 2304, dispositivo de armazenamento permanente 2302, e/ou ROM 2310. Destas várias unidades de memória, a(s) unidade(s) de processamento 2312 recuperam instruções para executar e dados para processar a fim de executar os processos de uma ou mais implementações.
[00112] O barramento 2308 também se conecta a interfaces de dispositivo de entrada e de saída 2314 e 2306. A interface de dispositivo de entrada 2314 permite que um usuário comunique informações e selecione comandos para o sistema eletrônico. Dispositivos de entrada usados com interface de dispositivo de entrada 2314 incluem, por exemplo, teclados alfanuméricos e dispositivos apontadores (também chamados "dispositivos de controle de cursor"), touchpads, trackpads, ou geralmente qualquer dispositivo capaz de receber introdução de usuário. A interface de dispositivo de saída 2306 permite, por exemplo, a exibição de imagens geradas pelo sistema eletrônico 2300. Dispositivos de saída usados com interface de dispositivo de saída 2306 incluem, por exemplo, impressoras e dispositivos de exibição, tal como um visor de cristal líquido (LCD), um visor de díodo emissor de luz (LED), um visor de díodo emissor de luz orgânico (OLED), um visor flexível, um visor de painel chato, um visor de estado sólido, um projetor, ou qualquer outro dispositivos para emitir informações. Uma ou mais implementações podem incluir dispositivos que funcionam tanto como dispositivos de entrada quanto de saída, tal como uma tela sensível ao toque. Nessas implementações, retroalimentação fornecida ao usuário pode ser qualquer forma de retroalimentação sensorial, tal como retroalimentação visual, retroalimentação auditiva, ou retroalimentação táctil; e entrada do usuário pode ser recebida em qualquer forma, incluindo-se entrada acústica, de voz, ou táctil.
[00113] Finalmente, conforme mostrado na Figura 23, o barramento 2308 também acopla o sistema eletrônico 2300 a uma rede (não mostrada) através da interface de rede 2316. Dessa maneira, o computador pode ser uma parte de uma rede de computadores tal como uma rede de área local ("LAN"), uma rede de longa distância ("WAN"), ou uma Intranet, ou uma rede de redes, tal como a Internet. O sistema eletrônico 2300 pode recuperar e/ou receber informações, por exemplo, por meio da interface de rede 2316, de um sistema de nuvem, por exemplo, um sistema de armazenamento em nuvem. Qualquer ou todos os componentes do sistema eletrônico 2300 podem ser usados em conjunção com a descrição.
[00114] Em uma ou mais implementações, o denominador e numerador de qualquer razão podem ser trocados, por exemplo, a razão de duas áreas pode ser determinada dividindo-se a primeira área pela segunda área ou a segunda área pela primeira área. Entretanto, se o denominador e numerador de uma razão forem trocados, o valor de um limite ao qual a razão é comparada pode também ser trocado em conformidade.
[00115] Muitos dos recursos e aplicações descritos acima podem ser implementados como processos de software que são especificados como um conjunto de instruções registradas em um meio de armazenamento legível por computador (denominado alternativamente meios legíveis por computador, meios legíveis por máquina, ou meios de armazenamento legíveis por máquina). Quando essas instruções são executadas por uma ou mais unidade(s) de processamento (por exemplo, um ou mais processadores, núcleos de processadores, ou outras unidades de processamento), as mesmas fazem a(s) unidade(s) de processamento desempenhar as ações indicadas nas instruções. Exemplos de meios legíveis por computador incluem, mas sem limitação, RAM, ROM, discos compactos apenas de leitura (CD-ROM), discos compactos graváveis (CD-R), discos compactos regraváveis (CD-RW), discos versáteis digitais apenas de leitura (por exemplo, DVD- ROM, DVD-ROM de camada dupla), uma variedade de DVDs graváveis/regraváveis (por exemplo, DVD-RAM, DVD-RW, DVD+RW, etc.), memória flash (por exemplo, cartões SD, minicartões SD, micro cartões SD, etc.), discos rígidos de estado magnético e/ou sólido, discos ópticos de ultradensidade, quaisquer outros meios ópticos ou magnéticos e disquetes. Em uma ou mais implementações, os meios legíveis por computador não incluem ondas portadoras e sinais eletrônicos que passam de modo sem fio ou por conexões com fio, ou quaisquer outros sinais efêmeros. Por exemplo, os meios legíveis por computador podem ser inteiramente restritos a objetos tangíveis, físicos, que armazenam informações em uma forma que é legível por um computador. Em uma ou mais implementações, os meios legíveis por computador são meios legíveis por computador não transitórios, meios de armazenamento legíveis por computador, ou meios de armazenamento legíveis por computador não transitórios.
[00116] Em uma ou mais implementações, um produto de programa de computador (também conhecido como um programa, software, aplicativo de software, script, ou código) pode ser gravado em qualquer forma de linguagem de programação, incluindo-se linguagens compiladas ou interpretadas, linguagens declarativas ou processuais e o mesmo pode ser implantado em qualquer forma, incluindo-se como um programa autônomo ou como um módulo, componente, sub-rotina, objeto, ou outra unidade adequada para uso em um ambiente de computação. Um programa de computador pode, mas não precisa, corresponder a um arquivo em um sistema de arquivos. Um programa pode ser armazenado em uma porção de um arquivo que retém outros programas ou dados (por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação), em um único arquivo dedicado ao programa em questão, ou em múltiplos arquivos coordenados (por exemplo, arquivos que armazenam um ou mais módulos, subprogramas, ou porções de código). Um programa de computador pode ser implantado para ser executado em um computador ou múltiplos computadores que estão localizados em um local ou distribuídos por múltiplos locais e interconectados por uma rede de comunicação.
[00117] Enquanto a discussão acima primariamente se refere a microprocessador ou processadores de com múltiplos núcleos que executam software, uma ou mais implementações são desempenhadas por um ou mais circuitos integrados, tais como circuitos integrados de aplicação específica (ASICs) ou arranjos de porta programáveis em campo (FPGAs). Em uma ou mais implementações, tais circuitos integrados executam instruções que são armazenadas no próprio circuito.
[00118] Aqueles versados na técnica verificariam que os vários blocos, módulos, elementos componentes, métodos e algoritmos ilustrativos descritos no presente documento podem ser implementados como hardware eletrônico, software de computador, ou combinações de ambos. Para ilustrar essa permutabilidade de hardware e software, vários blocos, módulos, elementos, componentes, métodos e algoritmos ilustrativos foram descritos acima geralmente em termos de suas funcionalidades. Quanto a se tal funcionalidade é implementada como hardware ou software depende da aplicação em particular e restrições de projeto impostas no sistema geral. Operários versados podem implementar a funcionalidade descrita de várias formas para cada aplicação em particular. Vários componentes e blocos podem ser dispostos diferentemente (por exemplo, dispostos em uma ordem diferente, ou particionados de uma forma diferente) tudo sem desviar do escopo da tecnologia.
[00119] É compreendido que qualquer ordem ou hierarquia específica de blocos nos processos é uma ilustração de abordagens exemplificativas. Com base em preferências de projeto, é compreendido que a ordem ou hierarquia específica de blocos nos processos pode ser reorganizadas, ou que todos os blocos sejam desempenhados. Qualquer um dos blocos pode ser desempenhado simultaneamente. Em uma ou mais implementações, processamento de multitarefa e paralelo pode ser vantajoso. Ademais, a separação de vários componentes de sistema nas modalidades descritas acima pode não ser compreendida como exigindo-se tal separação em todas as modalidades e deve ser compreendido que os componentes de programa e sistemas descritos podem geralmente ser integrados juntos em um único produto de software ou empacotados em múltiplos produtos de software.
[00120] Conforme usado nesta especificação e quaisquer cláusulas deste pedido, os termos "interface de toque", "computador", "servidor", "processador" e "memória" todos se referem a dispositivos eletrônicos ou outros dispositivos tecnológicos. Estes termos excluem pessoas ou grupos de pessoas. Para os propósitos da especificação, os termos "exibir" ou "de exibição" significam exibição em um dispositivo eletrônico.
[00121] Conforme usada no presente documento, a frase "pelo menos um de" que precede uma série de itens, com o termo "e", ou "ou" para separar quaisquer dos itens, modifica a lista como um todo, ao invés de cada membro da lista (isto é, cada item). A frase "pelo menos um de" não exige seleção de pelo menos um de cada item listado; ao invés, a frase permite que um significado que inclui pelo menos um de qualquer um dos itens, e/ou pelo menos um de qualquer combinação dos itens, e/ou pelo menos um de cada um dos itens. A título de exemplo, cada uma das frases "pelo menos um de A, B e C" ou "pelo menos um de A, B ou C" se refere apenas a A, apenas a B, ou apenas a C; qualquer combinação de A, B e C; e/ou pelo menos um de cada de A, B, e C.
[00122] As palavras predicadas "configurado para", "operável para" e "programável para" não implicam qualquer modificação tangível ou intangível em particular de um assunto, mas, ao invés, são destinadas a serem usadas de modo intercambiável. Em uma ou mais implementações, um processador configurado para monitorar e controlar uma operação ou um componente pode também significar que o processador é programado para monitorar e controlar a operação ou que o processador é operável para monitorar e controlar a operação. Da mesma forma, um processador configurado para executar código pode ser interpretado como um processador programado para executar código ou operável para executar código.
[00123] Os termos tais como "topo", "fundo", "frontal", "posterior" e similares conforme usados nesta descrição, se qualquer um, devem ser compreendidos como em referência a um quadro de referência arbitrário, ao invés de ao quadro de referência gravitacional comum. Desse modo, uma superfície de topo, uma superfície de fundo, uma superfície frontal e uma superfície posterior podem se estender para cima, para baixo, de modo diagonal, ou horizontalmente em um quadro de referência gravitacional.
[00124] Uma frase tal como "um aspecto" não implica que tal aspecto é essencial à tecnologia ou que tal aspecto se aplica a todas as configurações da tecnologia. Uma descrição referente a um aspecto pode se aplicar a todas as configurações, ou uma ou mais configurações. Um aspecto pode fornecer um ou mais exemplos da descrição. Uma frase tal como "um aspecto" pode se referir a um ou mais aspectos e vice-versa. Uma frase tal como "uma modalidade" não implica que tal modalidade é essencial à tecnologia ou que tal modalidade se aplica a todas as configurações da tecnologia. Uma descrição referente a uma modalidade pode se aplicar a todas as modalidades, ou uma ou mais modalidades. Uma modalidade pode fornecer um ou mais exemplos da descrição. Uma frase tal como "uma modalidade" pode se referir a uma ou mais modalidades e vice-versa. Uma frase tal como "uma configuração" não implica que tal configuração é essencial à tecnologia ou que tal configuração se aplica a todas as configurações da tecnologia. Uma descrição referente a uma configuração pode se aplicar a todas as configurações, ou uma ou mais configurações. Uma configuração pode fornecer um ou mais exemplos da descrição. Uma frase tal como "uma configuração" pode se referir a uma ou mais configurações e vice-versa.
[00125] A palavra "exemplificativo" é usada no presente documento para significar servir como um exemplo, instância, ou ilustração. Qualquer modalidade descrita no presente documento como "exemplificativa" ou como "um exemplo" não deve ser necessariamente interpretada como preferencial ou vantajosa no lugar de outras modalidades. Adicionalmente, a extensão que o termo "incluem", "têm", ou similar é usado na descrição ou nas cláusulas, tal termo é destinado a ser inclusivo de uma maneira similar ao termo "compreende" conforme "compreende" é interpretado quando empregado como uma palavra transitória em uma cláusula.
[00126] Todos os equivalentes estruturais e funcionais dos elementos dos vários aspectos descritos por toda esta descrição que são conhecidos ou que vêm a ser conhecidos mais tarde àqueles de habilidade comum na técnica são expressamente incorporados no presente documento a título de referência e são destinados a serem englobados pelas cláusulas.
[00127] A descrição anterior é fornecida para permitir que qualquer pessoa versada na técnica pratique os vários aspectos descritos no presente documento. Várias modificações a esses aspectos serão prontamente aparentes àqueles versados na técnica e os princípios genéricos definidos no presente documento podem ser aplicados a outros aspectos. Desse modo, as cláusulas não são destinadas a serem limitadas a esses aspectos mostrados no presente documento, mas devem estar de acordo com o escopo total, consistente com as cláusulas de linguagem, em que referência a um elemento no singular não é destinado a significar "um e apenas um" a menos que afirmado especificamente, mas ao invés "um ou mais" A menos que afirmado especificamente de outro modo, o termo "alguns" se refere a um ou mais. Pronomes no masculino (por exemplo, dele) incluem o gênero feminino e assexuado (por exemplo, dela e disso) e vice-versa. Títulos e subtítulos, se qualquer um, é usado por conveniência apenas e não limitam a descrição.

Claims (30)

1. Método para implantação extensível de um sistema de comunicação escalável, caracterizado pelo fato de que o método compreende: receber, a partir de um primeiro dispositivo de computação, uma primeira solicitação para criar um primeiro agrupamento de serviço em um sistema de computação centralizado para serviços que irão compartilhar um primeiro banco de dados, em que a primeira solicitação compreende um primeiro identificador de um primeiro servidor; recuperar, com base no recebimento da primeira solicitação, por um segundo dispositivo de computação, primeiros scripts para criar o primeiro agrupamento de serviço e o primeiro banco de dados (254A) a partir de um primeiro agente que é executado no primeiro servidor, identificados pelo primeiro identificador, sendo que os primeiros serviços são associados a uma pluralidade de adaptadores diferentes fora do sistema de computação centralizado e compartilham uma pluralidade de filas de mensagens e o primeiro banco de dados (254A), sendo que o primeiro banco de dados (254A) é compartilhado por uma primeira pluralidade de dispositivos médicos associados aos serviços no primeiro agrupamento de serviço, o primeiro agrupamento de serviço opera independentemente de pelo menos um outro agrupamento de serviço para serviços associados a outros dispositivos médicos ou sistemas que compartilham um banco de dados diferente e filas diferentes; gerar, por um processador, o primeiro banco de dados (254A) com base em nos primeiros scripts; receber uma segunda solicitação para adicionar um primeiro serviço ao primeiro agrupamento de serviço, em que a segunda solicitação compreende o primeiro identificador do primeiro servidor; transmitir, para o primeiro agente que é executado no primeiro servidor, um primeiro comando para criar o primeiro serviço no primeiro servidor; e fornecer uma primeira indicação de que o primeiro serviço foi adicionado ao primeiro agrupamento de serviço, em que os serviços são configurados para transferir mensagens em um formato de mensagem interno entre os adaptadores (122A a T), e em que cada um dentre a primeira pluralidade de dispositivos médicos é associado a um respectivo adaptador da pluralidade de adaptadores e uma respectiva fila de mensagens que fornece armazenamento persistente de mensagens processadas pelo respectivo adaptador.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: receber uma terceira solicitação para criar um segundo agrupamento de serviço para serviços que irão compartilhar um segundo banco de dados (254B), em que a terceira solicitação compreende um segundo identificador de um segundo servidor. recuperar segundos scripts para criar o segundo banco de dados (254B) a partir de um segundo agente que é executado no segundo servidor; gerar, por um processador, o segundo banco de dados (254B) com base nos segundos scripts; receber uma quarta solicitação para adicionar um segundo serviço ao segundo agrupamento de serviço, em que quarta solicitação compreende o segundo identificador do segundo servidor; transmitir, para o segundo agente que é executado no segundo servidor, um segundo comando para criar o segundo serviço no segundo servidor; e fornecer uma segunda indicação de que o segundo serviço foi adicionado ao segundo agrupamento de serviço.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que um primeiro esquema do primeiro banco de dados (254A) é diferente de um segundo esquema do segundo banco de dados (254B).
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que compreende adicionalmente: fornecer uma interface de usuário para gerenciar o primeiro serviço e o segundo serviço, em que o primeiro serviço traduz uma primeira pluralidade de mensagens transmitidas por uma primeira pluralidade de dispositivos em um sistema hospitalar (100) e o segundo serviço traduz uma segunda pluralidade de mensagens transmitidas por uma segunda pluralidade de dispositivos no sistema hospitalar (100).
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que o primeiro serviço traduz a primeira pluralidade de mensagens para o formato de envio de mensagem interno e o segundo serviço facilita a tradução da segunda pluralidade de mensagens para o formato de envio de mensagem interno.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que a interface de usuário compreende uma única interface para rastrear a primeira pluralidade de mensagens e a segunda pluralidade de mensagens.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que a interface de usuário para gerenciar o primeiro serviço e o segundo serviço acessa um banco de dados de gerenciamento.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que uma única instância de banco de dados (252) compreende o primeiro banco de dados (254A), o segundo banco de dados (254B) e o banco de dados de gerenciamento.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a pluralidade de filas de mensagens representa uma pluralidade de pontos de inspeção de um ciclo de vida de mensagem, e uma mensagem transferida através do sistema de comunicação escalável pode ser rastreada com base em um local da mensagem na pluralidade de filas de mensagens, e em que se uma mensagem é removida, a mensagem inclui um indicador de onde a mensagem foi removida e falhou em completar seu ciclo de vida.
10. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que compreende adicionalmente: receber uma quinta solicitação para adicionar um terceiro serviço ao segundo agrupamento de serviço, em que a quinta solicitação compreende o segundo identificador do segundo servidor; transmitir, para o segundo agente que é executado no segundo servidor, um terceiro comando para criar o terceiro serviço no segundo servidor; e fornecer uma terceira indicação de que o terceiro serviço foi adicionado ao segundo agrupamento de serviço.
11. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a primeira solicitação compreende adicionalmente um primeiro nome de agrupamento de serviço do primeiro agrupamento de serviço e um primeiro nome do primeiro banco de dados (254A) compreende pelo menos uma porção do primeiro nome de agrupamento de serviço.
12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que um prefixo do primeiro nome do primeiro banco de dados (254A) compreende o primeiro nome de agrupamento de serviço.
13. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que compreende adicionalmente armazenar o primeiro nome do primeiro banco de dados (254A) em um banco de dados de gerenciamento que é distinto do primeiro banco de dados (254A) e do segundo banco de dados (254B).
14. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que compreende adicionalmente transmitir, para o primeiro agente que é executado no primeiro servidor, um segundo comando para começar o primeiro serviço no primeiro servidor.
15. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que compreende adicionalmente recuperar, pelo primeiro serviço e em resposta ao recebimento do segundo comando, o primeiro nome do primeiro banco de dados (254A) do banco de dados de gerenciamento.
16. Sistema caracterizado pelo fato de que compreende: um ou mais processadores; e uma memória que inclui instruções que, quando executadas pelo um ou mais processadores, faz o um ou mais processadores: receber uma solicitação de autenticação de usuário para acessar uma a interface de gerenciamento fornecida por um primeiro servidor, em que a solicitação de autenticação de usuário compreende um identificador de usuário e senha, sendo que a interface de gerenciamento é configurada para acessar serviços de console de gerenciamento para monitorar uma pluralidade de dispositivos médicos em um sistema de hospital, sendo que cada dispositivo médico é conectado a um dentre uma pluralidade de adaptadores; determinar se o identificador de usuário existe em um banco de dados de usuário local; autenticar o identificador de usuário e a senha através de um sistema de autenticação local se o identificador de usuário existir no banco de dados de usuário local, caso contrário autenticar o identificador de usuário e senha através de um sistema de autenticação externa; e fornecer a interface de gerenciamento se o identificador de usuário e a senha não forem autenticados através tanto do sistema de autenticação local quanto do sistema de autenticação externa, caso contrário negar acesso à interface de gerenciamento; e fornecer exibição ao usuário, quando o acesso é fornecido para a interface de gerenciamento, sendo que a interface de gerenciamento permite que o usuário crie uma solução que inclui um grupo de serviços que compartilha filas e um primeiro banco de dados (254A) em um segundo servidor, sendo que cada servidor do grupo de serviços é associado a pelo menos um adaptador conectado a um respectivo dispositivo médico da pluralidade de dispositivos médicos ou um sistema de dados, sendo que a pluralidade de adaptadores é configurada para transferir mensagens entre si em um formato interno comum para criar uma camada de abstração entre os dispositivos médicos ou entre os dispositivos médicos e um sistema de dados, em que o primeiro servidor é configurado para criar o primeiro banco de dados (254A) para o grupo de serviços quando o grupo de serviços é adicionado pelo usuário que usa a interface de gerenciamento.
17. Sistema, de acordo com a reivindicação 16, caracterizado pelo fato de que a memória inclui adicionalmente instruções que, quando executadas por um ou mais processadores, fazem o um ou mais processadores: determinar se o identificador de usuário é categorizado como um identificador de usuário externo ou um identificador de usuário interno quando o identificador de usuário existir no banco de dados de usuário local; e autenticar o identificador de usuário e a senha através do sistema de autenticação local se o identificador de usuário existir no banco de dados de usuário local e o identificador de usuário for categorizado como o identificador de usuário interno, caso contrário autenticar o identificador de usuário e senha através de um sistema de autenticação externa.
18. Sistema, de acordo com a reivindicação 16, caracterizado pelo fato de que a interface de gerenciamento compreende uma única interface para rastrear uma primeira pluralidade de mensagens transmitidas por uma primeira pluralidade de dispositivos e traduzidas para um formato de envio de mensagem interno por um primeiro serviço do grupo de serviços, e uma segunda pluralidade de mensagens transmitidas por uma segunda pluralidade de dispositivos e transmitidas para o formato de envio de mensagem interno por um segundo serviço.
19. Sistema, de acordo com a reivindicação 18, caracterizado pelo fato de que o primeiro serviço acessa o primeiro banco de dados (254A), sendo que o primeiro banco de dados tem um primeiro esquema e o segundo serviço acessa um segundo banco de dados (254B) que tem um segundo esquema que é diferente do primeiro esquema.
20. Sistema, de acordo com a reivindicação 16, caracterizado pelo fato de que o sistema de autenticação externa compreende um sistema de autenticação de diretório ativo.
21. Sistema, de acordo com a reivindicação 16, caracterizado pelo fato de que a memória inclui adicionalmente instruções que, quando executadas por um ou mais processadores, fazem o um ou mais processadores: adicionar o identificador de usuário ao banco de dados de usuário local como um identificador de usuário externo quando o identificador de usuário e senha forem autenticados através do sistema de autenticação externa.
22. Sistema, de acordo com a reivindicação 16, caracterizado pelo fato de que a memória inclui adicionalmente instruções que, quando executadas por um ou mais processadores, fazem o um ou mais processadores: fornecer uma interface de autenticação que compreende um certificado de segurança; e receber a solicitação de autenticação de usuário por meio da interface de autenticação.
23. Sistema, de acordo com a reivindicação 22, caracterizado pelo fato de que o certificado de segurança é autoassinado.
24. Meio legível por máquina não transitório que incorpora instruções que, quando executadas por uma máquina, fazem a máquina desempenhar um método para implantação extensível de um sistema de comunicação escalável, caracterizado pelo fato de que compreende: gerar um banco de dados de gerenciamento em uma instância de banco de dados (252) para sustentar uma pluralidade de grupos de serviços; receber um primeiro conjunto de scripts de um primeiro servidor e um segundo conjunto de scripts de um segundo servidor; gerar um primeiro banco de dados na instância de banco de dados (252) e um primeiro grupo de serviços da pluralidade de grupos de serviços em um sistema de computação centralizado com o uso do primeiro conjunto de scripts e um segundo banco de dados na instância de banco de dados (252) e um segundo grupo de serviços da pluralidade de grupos de serviços no sistema de computação centralizado com o uso do segundo conjunto de scripts, em que o primeiro banco de dados compreende um esquema diferente do que o segundo banco de dados, sendo que o primeiro agrupamento de serviço é associado a uma primeira pluralidade de adaptadores diferentes fora do sistema de computação centralizado e compartilha uma primeira pluralidade de filas de mensagens e o primeiro banco de dados, sendo que o primeiro banco de dados (254A) é compartilhado por uma primeira pluralidade de dispositivos médicos associados aos serviços no primeiro agrupamento de serviço, e o segundo agrupamento de serviço é associado a uma segunda pluralidade de diferentes adaptadores fora do sistema de computação centralizado e compartilha uma segunda pluralidade de filas de mensagens e o segundo banco de dados (254B), sendo que o segundo banco de dados (254B) é compartilhado por uma segunda pluralidade de dispositivos médicos associados aos serviços no segundo agrupamento de serviço e o primeiro agrupamento de serviço opera independentemente do segundo agrupamento de serviço; transmitir um primeiro comando para um primeiro processo de agente que é executado no primeiro servidor para iniciar um primeiro serviço do primeiro grupo de serviços, em que o primeiro serviço acessa o primeiro banco de dados para traduzir uma primeira pluralidade de mensagens que são recebidas a partir de uma primeira pluralidade de dispositivos; transmitir um segundo comando para um segundo processo de agente que é executado no segundo servidor para iniciar um segundo serviço do segundo grupo de serviços, em que o segundo serviço acessa o segundo banco de dados (254B) para traduzir uma segunda pluralidade de mensagens que são recebidas a partir de uma segunda pluralidade de dispositivos; e fornecer uma interface de usuário para gerenciar o primeiro serviço e o segundo serviço, em que os serviços do primeiro e do segundo agrupamentos de serviço são configurados para transferir mensagens em um formato de mensagem interno entre os adaptadores do primeiro e do segundo agrupamentos de serviço, e em que cada um dentre a primeira e a segunda pluralidade de dispositivos médicos é associada a um respectivo adaptador da primeira ou da segunda pluralidade de adaptadores e uma respectiva fila de mensagens que fornece armazenamento persistente de mensagens processadas pelo respectivo adaptador.
25. Meio legível por máquina não transitório, de acordo com a reivindicação 24, caracterizado pelo fato de que o primeiro serviço traduz a primeira pluralidade de mensagens para um formato de envio de mensagem interno e o segundo serviço traduz a segunda pluralidade de mensagens para o formato de envio de mensagem interno.
26. Meio legível por máquina não transitório, de acordo com a reivindicação 24, caracterizado pelo fato de que o método compreende adicionalmente: transmitir um terceiro comando para um primeiro processo de agente que é executado no primeiro servidor para iniciar um terceiro serviço do primeiro grupo de serviços, em que o terceiro serviço acessa o primeiro banco de dados para traduzir uma terceira pluralidade de mensagens que são recebidas a partir de uma terceira pluralidade de dispositivos; fornecer a interface de usuário para gerenciar o primeiro serviço, o segundo serviço e o terceiro serviço.
27. Meio legível por máquina não transitório, de acordo com a reivindicação 24, caracterizado pelo fato de que a interface de usuário compreende uma única interface para rastrear a primeira pluralidade de mensagens e a segunda pluralidade de mensagens.
28. Meio legível por máquina não transitório, de acordo com a reivindicação 24, caracterizado pelo fato de que o método compreende adicionalmente: receber um primeiro nome do primeiro grupo de serviços, em que um primeiro nome de banco de dados do primeiro banco de dados compreende pelo menos uma porção do primeiro nome do primeiro grupo de serviços.
29. Meio legível por máquina não transitório, de acordo com a reivindicação 28, caracterizado pelo fato de que o primeiro serviço acessa o banco de dados de gerenciamento para recuperar o primeiro nome de banco de dados do primeiro banco de dados quando o primeiro serviço é iniciado.
30. Meio legível por máquina não transitório, de acordo com a reivindicação 24, caracterizado pelo fato de que a pluralidade de filas de mensagens representa uma pluralidade de pontos de inspeção de um ciclo de vida de mensagem, e uma mensagem transferida através do sistema de comunicação escalável pode ser rastreada com base em uma localização da mensagem na pluralidade de filas de mensagens, e em que se uma mensagem é removida, a mensagem inclui um indicador de onde a mensagem foi removida e falhou em completar seu ciclo de vida.
BR112015011028-2A 2012-11-15 2013-11-12 Método para implantação extensível de um sistema de comunicação escalável, sistema e meio legível por máquina não transitório. BR112015011028B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/678,472 US8782284B2 (en) 2012-11-15 2012-11-15 Extensible deployment system
US13/678,472 2012-11-15
PCT/US2013/069698 WO2014078315A2 (en) 2012-11-15 2013-11-12 Extensible deployment system

Publications (2)

Publication Number Publication Date
BR112015011028A2 BR112015011028A2 (pt) 2017-07-11
BR112015011028B1 true BR112015011028B1 (pt) 2022-02-08

Family

ID=49681158

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015011028-2A BR112015011028B1 (pt) 2012-11-15 2013-11-12 Método para implantação extensível de um sistema de comunicação escalável, sistema e meio legível por máquina não transitório.

Country Status (10)

Country Link
US (2) US8782284B2 (pt)
EP (1) EP2932386A2 (pt)
JP (1) JP6404224B2 (pt)
KR (1) KR102201158B1 (pt)
CN (2) CN104854564B (pt)
AU (2) AU2013344935B2 (pt)
BR (1) BR112015011028B1 (pt)
CA (2) CA3138091C (pt)
MX (1) MX343641B (pt)
WO (1) WO2014078315A2 (pt)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853592B2 (en) * 2015-02-13 2020-12-01 Yoti Holding Limited Digital identity system
US10382429B2 (en) * 2016-11-18 2019-08-13 Veritas Technologies Llc Systems and methods for performing secure backup operations
US10397216B2 (en) 2016-11-18 2019-08-27 Veritas Technologies Llc Systems and methods for performing secure backup operations
US10936738B1 (en) * 2017-06-26 2021-03-02 Amazon Technologies, Inc. Moderator to extend application functionality
US10300373B2 (en) * 2017-09-08 2019-05-28 Niantic, Inc. Methods and systems for generating detailed datasets of an environment via gameplay
KR102278996B1 (ko) 2017-10-27 2021-07-20 주식회사 엘지에너지솔루션 실리콘-탄소 복합체 및 이를 포함하는 리튬 이차전지
US11997154B1 (en) * 2019-11-12 2024-05-28 Zive, Inc. Systems and methods for visualizing digital content
KR102292579B1 (ko) * 2020-01-15 2021-08-25 한국전자통신연구원 점검코드와 점검 스크립트를 이용한 하이브리드 기반의 취약점 점검 방법 및 이를 이용한 장치
CN111740836B (zh) * 2020-04-30 2023-03-24 北京奇艺世纪科技有限公司 一种安全登录方法、装置、电子设备以及计算机存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256676B1 (en) * 1998-11-18 2001-07-03 Saga Software, Inc. Agent-adapter architecture for use in enterprise application integration systems
US6574655B1 (en) * 1999-06-29 2003-06-03 Thomson Licensing Sa Associative management of multimedia assets and associated resources using multi-domain agent-based communication between heterogeneous peers
US10353856B2 (en) 2011-03-17 2019-07-16 Carefusion 303, Inc. Scalable communication system
US7673282B2 (en) * 2001-05-25 2010-03-02 International Business Machines Corporation Enterprise information unification
US7430590B1 (en) * 2002-04-17 2008-09-30 Everdream Corporation Method and system to manage services for multiple managed computer systems
JP2004110446A (ja) * 2002-09-19 2004-04-08 Yokogawa Electric Corp 医療情報管理システム
US7230529B2 (en) * 2003-02-07 2007-06-12 Theradoc, Inc. System, method, and computer program for interfacing an expert system to a clinical information system
KR100538582B1 (ko) * 2003-07-14 2005-12-22 이지케어텍(주) 의료정보 제공 시스템에서의 의사결정지원 방법
US20060235899A1 (en) * 2005-03-25 2006-10-19 Frontline Systems, Inc. Method of migrating legacy database systems
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
CA2578466A1 (en) * 2007-01-12 2008-07-12 Truecontext Corporation Method and system for customizing a mobile application using a web-based interface
US20080222714A1 (en) * 2007-03-09 2008-09-11 Mark Frederick Wahl System and method for authentication upon network attachment
US20090064291A1 (en) * 2007-08-28 2009-03-05 Mark Frederick Wahl System and method for relaying authentication at network attachment
US8336089B1 (en) * 2007-12-21 2012-12-18 Emc Corporation Method and apparatus for providing authentication and encryption services by a software as a service platform
US20090178131A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Globally distributed infrastructure for secure content management
US8291490B1 (en) * 2008-06-30 2012-10-16 Emc Corporation Tenant life cycle management for a software as a service platform
US8214329B2 (en) * 2008-08-26 2012-07-03 Zeewise, Inc. Remote data collection systems and methods
US8560568B2 (en) * 2008-08-26 2013-10-15 Zeewise, Inc. Remote data collection systems and methods using read only data extraction and dynamic data handling
US20110047056A1 (en) * 2008-10-11 2011-02-24 Stephen Overman Continuous measurement and independent verification of the quality of data and processes used to value structured derivative information products
WO2010067301A1 (en) * 2008-12-12 2010-06-17 Koninklijke Philips Electronics N.V. A method and module for creating a relational database schema from an ontology
US20100228559A1 (en) * 2009-03-03 2010-09-09 Keith Wayne Boone Methods and apparatus to enable sharing of healthcare information
US8972515B2 (en) * 2009-03-30 2015-03-03 The Boeing Company Computer architectures using shared storage
GB2471282B (en) * 2009-06-22 2015-02-18 Barclays Bank Plc Method and system for provision of cryptographic services
US20100325624A1 (en) * 2009-06-22 2010-12-23 Stephen John Bartolo Method and System for Application Portability
US20110055899A1 (en) * 2009-08-28 2011-03-03 Uplogix, Inc. Secure remote management of network devices with local processing and secure shell for remote distribution of information
US9135283B2 (en) * 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8584221B2 (en) * 2009-10-23 2013-11-12 Microsoft Corporation Authenticating using cloud authentication
US8321671B2 (en) * 2009-12-23 2012-11-27 Intel Corporation Method and apparatus for client-driven profile update in an enterprise wireless network
US9686255B2 (en) * 2010-07-21 2017-06-20 Citrix Systems, Inc. Systems and methods for an extensible authentication framework
US8555362B2 (en) * 2011-07-20 2013-10-08 Symantec Corporation Lightweight directory access protocol (LDAP) proxy

Also Published As

Publication number Publication date
CA2890195A1 (en) 2014-05-22
WO2014078315A3 (en) 2014-10-09
US8782284B2 (en) 2014-07-15
CN104854564A (zh) 2015-08-19
JP6404224B2 (ja) 2018-10-10
WO2014078315A2 (en) 2014-05-22
EP2932386A2 (en) 2015-10-21
CN104854564B (zh) 2018-10-16
US9892268B2 (en) 2018-02-13
CN109597625B (zh) 2021-06-25
AU2013344935B2 (en) 2019-05-02
BR112015011028A2 (pt) 2017-07-11
CN109597625A (zh) 2019-04-09
KR20150084894A (ko) 2015-07-22
AU2019202098B2 (en) 2020-07-23
AU2019202098A1 (en) 2019-04-18
CA2890195C (en) 2021-12-28
CA3138091A1 (en) 2014-05-22
JP2016505921A (ja) 2016-02-25
US20140317727A1 (en) 2014-10-23
KR102201158B1 (ko) 2021-01-13
MX343641B (es) 2016-11-15
US20140137222A1 (en) 2014-05-15
AU2013344935A1 (en) 2015-05-21
CA3138091C (en) 2024-04-16
MX2015005857A (es) 2015-09-24

Similar Documents

Publication Publication Date Title
AU2019202098B2 (en) Extensible deployment system
US11610658B2 (en) Variable dose dispensing system
AU2020201641B2 (en) Scalable communication system
CN107256325B (zh) 电子化患者护理的计算机实现方法、系统和装置
BR112014028670B1 (pt) Sistema e método para controlar um dispositivo médico e meio de armazenamento legível por máquina

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 12/11/2013, OBSERVADAS AS CONDICOES LEGAIS.