Meu pai é um médico. Ele está insistindo em escrever um banco de dados para armazenar informações não críticas do paciente, sem nenhum histórico de programação [fechado]

18

Então, meu pai está atualmente no processo de "invadir" um banco de dados usando o FileMaker Pro, uma ferramenta de banco de dados baseada em GUI para sua pequena clínica (4 médicos). O banco de dados será usado para ajudar a aliviar a carga de relatórios de máquinas médicas, simplificando um processo bastante desajeitado.

Ele não tem experiência em programação e parece estar fazendo tudo ao seu alcance para não aprender as coisas corretamente. Ele tem tipos de dados duplicados, nenhum relacionamento imposto pelo banco de dados (restrições de chave primária / externa) e uma dúzia de outros problemas. Ele está fazendo tudo manualmente com a ferramenta GUI usando vídeos do Youtube.

Meu problema é que, embora eu queira que ele seja bem-sucedido em 100%, não acho apropriado que ele lide com esses tipos de decisões. Como convencê-lo de que, sem algum tipo de instrução nesses tópicos, uma solução hackeada é uma má idéia? Ele pode ser bastante teimoso e acho que ele vê esse tipo de trabalho como "brincadeira de criança"

Como devo abordar isso? É mesmo uma péssima idéia - ou estou correto ao pensar que ele deveria contratar um DBA / desenvolvedor adequado para lidar com isso, para que não se torne um pesadelo de manutenção?

NB: Sou consultor de desenvolvedores há 4 anos e já vi minha parcela de implementações dolorosas de clientes.

Atualizar:

Então, alguns anos depois, agora, e tive tempo para refletir sobre essa questão. Meu pai acabou implementando uma solução usando o Google Docs, o FileMaker Pro e alguns ganchos de e-mail. Ele resolveu tudo sozinho e diz que está obtendo imenso valor com isso.

Se você é um desenvolvedor experiente, talvez esteja lendo essa descrição e se encolhendo. Mas eu aprendi uma lição muito boa da coisa toda, na verdade - que as pessoas se preocupam apenas com os resultados, e não com a implementação. Tudo o que meu pai se importa é que ele não precisa inserir as informações do paciente manualmente no papel e, em vez disso, pode preencher rapidamente um formulário do Google Docs. O que é ótimo é que ele procura contratar uma pessoa júnior de desenvolvimento / operações para se concentrar apenas na automação dentro de sua prática.

Dominic Bou-Samra
fonte
6
algo cortado juntos assim fina pode trabalho ... até que os requisitos mudam então o verdadeiro problema começa ...
catraca aberração
33
Ah sim. Problema comum com os médicos, eles acreditam que ser médico os torna mais inteligentes do que todos os outros e capazes de fazer o trabalho de todos. Eles não percebem o que não sabem, mesmo depois de mordê-los na bunda. Eu começaria perguntando a ele qual seria sua resposta se seu sistema interno fosse desafiado durante uma auditoria HIPPA. Com sorte, isso fará com que ele faça algumas mudanças necessárias nos requisitos e fará com que tudo se torne muito mais difícil.
btilly
8
Devo observar que meu comentário sobre médicos é de muita experiência indireta deles. Um pouco veio porque minha esposa é médica.
btilly
10
Como alguém que tem uma vasta experiência no trabalho de TI em saúde, posso atestar que um bom número de médicos não aprecia a habilidade e a experiência de profissionais de outras áreas. Deixe-o tentar e se ele falhar, ele aprenderá algo muito valioso. Se ele conseguir, acho que você aprenderá algo muito valioso.
maple_shaft
31
basta começar a dar-lhe conselhos médicos com base no conhecimento que você coletar de vídeos do youtube ...
Thorsten Müller

Respostas:

66

Desenvolvo soluções de saúde há muitos anos. Não vou abordar todas as diferentes razões pelas quais seu pai não deveria estar fazendo isso; a maioria das razões é acadêmica: ou seja, se você trabalha na indústria há tempo suficiente, sabe como essas coisas acontecem e desenvolvem uma vida própria.

Em vez disso, seu pai, como médico, precisa entender as razões profissionais e as razões não acadêmicas da vida real, pelas quais o que ele está fazendo é perigoso e possivelmente com risco de vida; perigoso para seus colegas, perigoso para a privacidade e identidade de seus pacientes e perigoso para sua prática do ponto de vista legal.

O perigo é multifacetado:

  1. privacidade do paciente (HIPAA, ARRA, uso significativo, conformidade com HITECH)
    • quais são os campos que são considerados campos de identificação do paciente (muitos profissionais do setor não entendem isso, e só porque você elimina alguns dos campos óbvios, como sobrenome, endereço e CEP, ainda existem muitos outros campos que fácil associar dados clínicos a um paciente específico; isso, por si só, é difícil; existem empresas por aí que ganham muito dinheiro desassociando dados clínicos - é um domínio inteiro em si).
  2. HIPAA, HITECH e legislação mais recente explicitam claramente como
    • auditoria deve ser feita
    • segurança deve ser feita
    • Requisitos de senha
    • os dados em repouso devem ser criptografados
    • os dados transmitidos devem ser criptografados e como
    • você deve considerar os controles se estiver usando algum tipo de serviço hospedado (IaaS, PaaS)
    • você possui o BAA e o DSA adequados?
    • como as pessoas que hospedam seus servidores controlam o acesso
    • como eles lidam com a multilocação (você ficaria surpreso com o modo como algumas dessas grandes entidades NÃO lidam com isso adequadamente)
    • se você rescindir o contrato com aqueles que hospedam sua infraestrutura, como eles garantirão a exclusão permanente de seus dados (regulamentos NIST)
  3. Quais são os controles governamentais em vigor para o seu desenvolvimento
    • você tem um sdlc no lugar
    • você tem rastreabilidade dos requisitos ao código para o controle de qualidade
    • você valida o uso "pretendido" do seu aplicativo / dispositivo médico
  4. seu software está sendo controlado pelo controle de qualidade e você possui um ambiente de Teste de aceitação do usuário (UAT)
    • como você protege esse ambiente, porque você estará usando dados reais do paciente
  5. ele vai lidar com pacientes do Medicare? Se sim, ele planeja usar seu banco de dados para reportar?
    • o governo possui controles rigorosos para o intercâmbio desses dados para o Health Information Exchange (HIE)
    • o que leva a como ele implementará sua própria troca se quiser tirar proveito de seu repositório de dados clínicos (CDR)
  6. ele entende os regulamentos específicos do NIST que ele precisa cumprir para segurança de dados
    • como exclusão permanente de dados (se estiver usando uma infraestrutura hospedada)
  7. você mencionou que ele estará recebendo dados de máquinas médicas
    • ele entende os novos padrões de dispositivos médicos da FDA?
    • a partir de 2013, qualquer sistema digital que exiba dados de dispositivos médicos pode ser classificado como dispositivo médico ... isso significa que ele deve atender aos requisitos regulamentares da FDA para dispositivos médicos
  8. sua equipe e sua equipe tomarão decisões médicas com base nos dados de seu banco de dados?
    • ele desenvolveu um modelo de dados clínicos sólido, flexível o suficiente para lidar com os requisitos sempre em mudança (ou seja, os padrões de codificação da CID-9 para a CID-10 para a CID-11)?
    • como ele fará a versão do modelo de dados e o manterá sincronizado com os dados (ou seja, se ele alterar o modelo de dados clínicos, como os dados mais antigos serão representados?)
    • seu sistema será capaz de produzir um instantâneo exato dos dados clínicos, como foi visto no dia em que uma decisão clínica foi tomada? há repercussões legais se ele não puder
    • ele sabe a diferença entre uma exclusão real e uma exclusão lógica e as implicações em seu modelo de dados; aos seus requisitos de armazenamento; às políticas de sua prática?
    • ele possui uma solução de vocabulário para lidar com todos os diferentes serviços que ele precisará usar; muitos dos dados precisam ser codificados (em oposição ao texto livre), porque ele deseja tirar proveito de seu CDR para produzir relatórios compatíveis com a CID-9. E então ele precisa levar em conta a mudança desses padrões; por exemplo, CID-9 a CID-10.
    • para vocabulário, terminologia ou Dicionário de Dados de Saúde (todos basicamente sinônimos) como ele implementará e garantirá que a terminologia antiga ainda possa ser renderizada para decisões clínicas antigas?
  9. ele armazenará dados de alergia?
    • como serão armazenadas suas definições de 'terminologia médica' ou 'vocabulário'?
    • ele se integrará a outros sistemas terminológicos como LOINC e First Data Bank?
    • ele entende os serviços de terminologia (por exemplo, Health Data Dictionary)
  10. ele deseja que os dados entrem em interface com o sistema e, talvez, para uma troca de informações sobre saúde (HIE)?
    • se sim, ele entende o HL7 e seu impacto em seu banco de dados?
    • ele entende os mecanismos de interface e tudo o que acompanha isso?
  11. ele entende como desidentificar a informação?
    • isso é importante na fase de desenvolvimento e na fase de correção de bugs

Essas são apenas algumas perguntas e, de maneira alguma, devem ser consideradas uma lista abrangente. E para cada resposta, haverá inúmeras outras perguntas.

Em um banco de dados de Assistência Médica, não deve haver exclusão ou substituição de dados anteriores. Isso significa que nunca haverá 'excluir de onde ...' ou 'conjunto de atualizações ...'. Em vez disso, você terá apenas inserções. Você pode imaginar como isso altera seu modelo de dados e suas consultas. Agora você pode ser criativo e apresentar soluções diferentes para atingir esse objetivo, mas o fato é que esse é um requisito exclusivo do repositório de Dados Clínicos em Saúde.

Apenas mais um pensamento sobre o lado com risco de vida desta questão:

Vamos pegar, por exemplo, informações sobre alergias; Eu levanto essa questão porque as instituições que fazem isso digitalmente há anos aprendem que seus processos precisam garantir que os dados de alergia sejam capturados e que não podemos assumir que, porque a tecnologia capturou os dados em um banco de dados, isso é inerentemente correto para sempre . É por isso que os pacientes são solicitados a alergias sempre que se deslocam de um departamento para outro, mesmo dentro do mesmo hospital. As alergias de um paciente não podem ser excluídas (as atualizações em uma linha excluem as informações antigas). Uma decisão clínica baseada em dados digitais precisa capturar o que foi 'apresentado' ao clínico no momento da decisão.

Sei que muito disso pode parecer direcionado a uma grande instituição. No entanto, as partes reguladoras não são. De qualquer forma, os Sistemas de Informação em Saúde são inerentemente complexos. A engenharia do sistema de saúde depende e reconhece os conhecimentos e a experiência de bons médicos. No entanto, há uma incompatibilidade de impedância maior que a média (para pedir a terminologia da tecnologia ORM) no domínio de TI da área de saúde ... Atrevo-me a dizer maior porque cada domínio tem suas incompatibilidades.

Boa sorte!

Johnnie
fonte
2
Esta é certamente a melhor e mais abrangente resposta que já vi. O pai do OP não só pode perder sua prática ao lidar com isso de maneira errada, mas também pode sofrer uma penalidade criminal.
Rig
Os EMRs diminuem a produtividade do médico. Os encargos regulatórios que você descreve lidam com coisas separadas dos cuidados médicos. Aqui, um documento quer escrever algum software para fazer seu trabalho melhor e todo o campo de TI se aplica a ele. Considere que este documento realmente aprenderá algo e poderá conversar melhor com a TI sobre suas necessidades. Pessoalmente, acho que a TI não entende os médicos falando sobre seus problemas, mas quando falo na linguagem de TI, eles entendem. Além disso, toda essa resposta se refere a uma organização centralizada de TI. Uma TI médica ruim não pode criar sistemas interoperáveis.
Kd4ttc 01/09
32

Uma solução hackeada nem sempre é ruim. Se está resolvendo o problema dele, eu não faria muito fedor. Provavelmente, existem 10 soluções hackeadas em conjunto no File Maker e no Access para todas as soluções profissionais de banco de dados. Afinal, é para isso que servem o Filemaker e o Access. Claro, a maioria das soluções hackeadas é horrível. Mas eles existem para resolver problemas, não para ganhar concursos de beleza. Muitas vezes, o escopo dessas soluções cresce e é quando alguém é contratado para criar uma solução profissional.

O que você pode fazer para ajudar suas chances de sucesso é expressar interesse em seu projeto e oferecer sentar-se e ajudá-lo a definir o banco de dados e analisar tudo. Se ele não quer a sua ajuda ... largue-o e deixe-o estar. O que você vai fazer, texugo seu pai? Se / quando ele passar por cima da cabeça, ele avisará.

Outra coisa a considerar é que, se esse é um problema comum entre os médicos, você pode ter uma oportunidade de negócio muito boa ao criar uma solução genérica.

GrandmasterB
fonte
+1 - Mas se ele é tão teimoso quanto o solicitante o faz parecer, ele pode não pedir ajuda. ;)
jmort253
Ele é muito difícil de trabalhar, como é alguém que tem sido "o chefe" sem nenhuma educação formal real nessas áreas estranhas.
Dominic Bou-Samra
+1 para "você pode ter uma oportunidade de negócio muito boa"
Dominique McDonnell
15

Como designer de software com mais de 25 anos de experiência, ainda vejo a atração de criar algo você mesmo. Explicar as coisas para alguém que não é versado nessa indústria pode ser um grande obstáculo.

E se o banco de dados não for normalizado ou puder ser feito mais rápido? Muitos softwares não críticos (especialmente na era da agilidade) seguem o princípio wabi-sabi. Faz o que precisa fazer e nada mais.

Por favor, entenda que nem todos os softwares precisam gritar, juntamente com uma interface perfeita, acesso extremamente rápido ao banco de dados e uma interface gráfica imaculada.

Robbie Dee
fonte
2
Ponto justo. Não vou dissuadi-lo dessa ideia. Eu só quero que ele se sente e leia um livro, entenda os problemas e dificuldades inerentes ao design de um banco de dados relacional, antes que ele faça alguma coisa.
Dominic Bou-Samra
Hackear juntos uma solução não é uma má idéia em si. Usar martelos para aparafusar é uma má idéia em todas as circunstâncias. Você precisa conhecer o básico e as ferramentas para criar algo com chance de funcionar corretamente.
quer
6
"Usar martelos para aparafusar é uma má idéia em todas as circunstâncias." Não, não é. O que estou dizendo é que muitas vezes não é importante que o software seja perfeito desde que faça o trabalho. A ideia de que escrever software é algum tipo de outra tarefa worldy que só deve ser deixada para os profissionais qualificados é uma atitude um pouco paroquial, se assim posso dizer ...
Robbie Dee
Se este é o EUA, eu diria que, dado (1) a quantidade de interferência governamental, (2) os padrões complicados para receber incentivos governamentais e (3) as consequências de erros nos registros médicos de alguém, é altamente recomendável deixá-lo para pessoas que não são apenas profissionais qualificados no domínio de software, mas qualificados no real dos requisitos para esses sistemas.
WGroleau
8

Meu problema é que, embora eu queira que ele seja bem-sucedido em 100%, não acho apropriado que ele lide com esses tipos de decisões.

O Filemaker começou como um banco de dados que qualquer um poderia usar e ainda funciona muito bem nesse papel. Se o seu pai sabe o que ele quer e se sente à vontade para montar tudo sozinho, com o que você está preocupado? Se funcionar da maneira que ele quer, ele vence. Se não funcionar do jeito que ele quer, ele vai consertar.

Você teria razão em se preocupar se ele estivesse criando um banco de dados para todos os médicos que trabalham na Kaiser Permanente, mas se ele está apenas criando uma ferramenta para uso em seu próprio consultório, parece que ele provavelmente é a pessoa certa para lidar com esses problemas. decisões.

Não deixe que o perfeito seja o inimigo do bem.

Caleb
fonte
5

Meu conselho é fingir que isso não existe, ou então você ficará louco. Eu tenho um parente que fez algo semelhante com sua lista de clientes, e o que ele criou por conta própria é uma monstruosidade. Inicialmente, eu me ofereci para ajudar e ele achou minha cotação (que tinha um grande desconto "para a família") era escandalosa. Depois de dar uma olhada, sugeri várias alterações, que ele me pediu para fazer em troca de "algumas cervejas". Família ou não, Homie não interpreta isso. Eu disse a ele que ele deveria contratar alguém para fazer isso, mas ele nunca contratou. Eu apenas tive que me separar completamente e fingir que não existe, apenas para impedir que a horrenda do projeto me comesse.

Kenzo
fonte
1
+1 "Família ou não, Homie não joga isso."
Smalltown2k
3

Você deveria deixá-lo tentar. No entanto, você deve conscientizá-lo do fato de que, quando ele atinge um impasse, é problema dele e qualquer desenvolvedor que ele decidir contratar naquele momento terá que começar do zero.

Eu gosto muito de juntar coisas, como móveis e até encanamentos. Gosto e não vejo nada de errado nisso. Eu nunca me atreveria a pedir a um artesão habilidoso que pulasse para mim quando eu estivesse preso, simplesmente porque acho que eles vomitariam à simples vista de minhas criações.

Então deixe seu pai fazer o que ele gosta, mas tente deixá-lo entender os riscos. Apenas explique a ele que, quando em algum momento ele contrata um desenvolvedor treinado para "apenas adicionar um pequeno recurso", é como pedir a artesãos experientes que "apenas consertem algumas coisas" em uma casa onde a maioria das instalações elétricas e hidráulicas foi realizada com fita adesiva, papel alumínio, plasticina e boa fé.

back2dos
fonte
2

ele vê esses tipos de trabalho como "brincadeira de criança"

Sou consultor de desenvolvimento há 4 anos

Para o seu próprio bem-estar e o desenvolvimento pessoal de seu pai, deixe-o falhar.A resposta de John é sólida e você deve mencionar o suficiente para impedir que seu pai fique do lado errado da lei, ou pelo menos o suficiente para que ele saiba melhor. Mas toda essa coisa de "humildade" não é algo que você possa ensinar às pessoas e esperar que elas aprendam. É uma lição de vida muito importante tentar o seu melhor e totalmente falhar. O fracasso é um professor muito poderoso. E ele pode ganhar algum respeito pela profissão de seu filho.

E ei, se ele conseguir criar algo que funcione bem o suficiente (e não viole nenhuma lei), tanto mais poder para ele.

Philip
fonte
1

É assunto dele. E se ele estiver determinado, ele fará com que funcione. E muitas pessoas criaram soluções de várias tecnologias para fazer as coisas funcionarem.

Anos atrás, revi o código de um amigo meu que montou um aplicativo da web com PHP e algum software de quadro de avisos. Ele o personalizou fortemente para atender às suas necessidades. O código era uma abominação. Além de ser a primeira forma normal, ele tinha tags HTML com dados em seu banco de dados. Sem separação MVC. Mas Deus o abençoe. Sua inscrição funcionou, e ele conseguiu pagar suas contas com a receita daquele site.

Meu conselho para ele foi o seguinte: se você se contentar em ordenhar seu aplicativo por receitas o máximo de tempo possível, não o refate usando boas técnicas de design de software e deixe "bem o suficiente" sozinho. Se você deseja desenvolver seu aplicativo para oferecer mais serviços e obter mais receita, precisará pagar e refatorar o código. Ele escolheu ir com o primeiro. É a vida.

Se seu pai não sentir a dor da duplicação de dados e da fraca integridade dos dados agora, ele perceberá mais tarde, e só então aprenderá o valor do que você está dizendo.

Jay Godse
fonte
0

Penso que a resposta à sua pergunta depende principalmente de quão crítica para sua prática médica é essa aplicação. Ele armazenará lá apenas alguns dados de pacientes que considere úteis ou qualquer mau funcionamento desse aplicativo pode ter graves consequências? Se isso pode ter consequências graves, ele não deve fazê-lo, mas porque não estamos vivendo em um mundo perfeito, convencendo-o de que não é uma boa ideia, pode ser uma questão completamente diferente.

Como você é um consultor de desenvolvedores, sugiro oferecer a ele ajuda no controle de qualidade e no processo de teste. Dessa forma, você manterá um bom relacionamento com seu pai, porque você está "ajudando" ele, mas, ao mesmo tempo, pode garantir que o aplicativo dele esteja fazendo o que é suposto fazer ou até encontre um problema que ele não será capaz de resolver. então ele buscará uma solução mais profissional.

BTW Eu já vi muitos aplicativos terríveis que estavam fazendo seu trabalho e nenhuma explicação para por que isso é terrível convenceria alguém a fazer alterações reais nele.

onlineapplab.com
fonte
0

Como engenheiro de software recém-aposentado de um grande prestador de serviços de saúde sem fins lucrativos, recomendo fortemente procurar um hospital ou uma clínica de grande porte nas proximidades que, por uma taxa razoável, permita que ele compartilhe seu sistema de registros médicos eletrônicos que atenda aos requisitos da iniciativa Uso significativo (e outros programas de incentivo do governo).

Estou ciente de que a “Epic” ( http://Epic.com ) suporta seus clientes, permitindo que pequenos fornecedores compartilhem seu sistema, e imagino que alguns de seus concorrentes também o façam. A Cerner é seu maior concorrente, mas vários outros são discutidos em http://www.beckershospitalreview.com/healthcare-information-technology/50-things-to-know-about-epic-cerner-meditech-mckesson-athenahealth-and- other-major-ehr-vendors.html

Há um subsídio de 75% do CMS para esse tipo de compartilhamento. Repassamos o subsídio a nossos clientes, tornando o preço da assinatura 25% do nosso custo.

WGroleau
fonte