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.
Respostas:
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:
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!
fonte
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.
fonte
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.
fonte
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.
fonte
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.
fonte
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é.
fonte
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.
fonte
É 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.
fonte
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.
fonte
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.
fonte