이 글은 Jon Lennart Aasenden 의 블로그 글을 번역한 것입니다.

 

·   본문 링크  

 https://community.idera.com/developer-tools/b/blog/posts/delphi-in-healthcare-fighting-the-corona-pandemic?fbclid=Iw AR0CU7BvP4Z0RO3Let2mmxCCvKXYGKdi9eqH8EEP3ZOWAdwP51Wt-yy5OC4

헬스케어 분야에서의 델파이 - 코로나에 맞서며

코로나와 같은 위기가 사회에 닥치면, 삶의 모든 면에 영향을 미칩니다. 가족, 사랑하는 사람들과의 밀접한 접촉은 제한되었고 우리가 살고있는 지역 사회와 소통하는 방식이 바뀌었습니다. 그리고 고객과 소통하고 생계를 유지하는 방식도 바뀌었습니다. 많은 사람들에게  이러한 시간은 개인적으로도 사회적으로도 어렵고 힘든 시간입니다.

 

 

과거의 비슷한 상황

 

사람들이 사랑하는 사람을 잃을지도 모르는 상황에서, 비지니스는 동떨어지고 차가운 주제로 느껴질 수도 있습니다.

그러나 사실 비즈니스는 의학 연구를 위한 자금 지원, 의약품 전달, 식품 제공 등 바이러스에 맞서기 위해 필요한 요소들을 제공합니다. 사회 시스템에 대한 파괴력이나 재정적인 측면을 볼 때, 전 세계적으로 이런 전염병은 처음일 것이라고 생각합니다.

 

이와 비슷한 규모의 역사적 상황은 대공황(1929년)을 꼽을 수 있겠네요. 사실 대공황은 스페인 독감 유행의 직접적인 결과로 초래됐다고 볼 수 있습니다.

 

스페인 독감은 1918년 미국, 유럽, 아시아를 강타했으며 1921년까지 유행했습니다. (미국에서 1920 년 12 월, 유럽에서 마지막으로보고 된 케이스는 1921 년 1 월 이었습니다).

 

코로나1.png

 1919년 캔자스, 캠프 펀스턴 응급 병원

 

 

스페인 독감으로 약 5천만 명이 목숨을 잃었고, 총 5억 명이 감염되었었죠. 즉 당시 세계 인구의 4분의 1이 이 독감에 감염되어 인류 역사상 가장 치명적인 유행병 중 하나로 기록되어 있습니다.

 

 

역사적 교훈

정부와 기업 모두가 걱정하는 것은 경기 침체입니다. 대공황을 초래한 변수들는 광범위하고 복잡하지만 (유럽 경제가 주저앉았던 1914 년에서 1918년 사이에 제1차 세계대전이 벌어졌다는 것을 잊지 말아야합니다), 원인과 결과의 패턴은 눈여겨볼 만한 유사성을 지니고 있습니다.

 
이번 대유행 기간 중 코로나 바이러스 감염자가 많아지면, 그 여파로 경제적 부담은 가중될 것입이다. 부채와 금리가 치솟아 시장이 균형을 잡을 수 없다면 1929년에 일어난 것 같은 최악의 시나리오로 흘러가 국가와 국제경제의 완전한 붕괴가 발생할 수도 있겠지요.
 
 

천의 얼굴을 가진 영웅, 의료 전문가들

소셜 미디어에는 최악의 시나리오들이 넘쳐나고 있습니다. 그렇다보니, 2020년 우리가 얼마나 축복 받은 삶을 살고 있는지를 쉽게 간과하게 되는 것 같습니다. 1918년에는 현대 의학도 지금만큼 발전하지 못했고, 마음대로 컴퓨터를 사용할 수도 없었습니다. 전 세계적인 의사소통도 전무했구요. 무엇보다 가장 중요한 것은 국제적인 의학 연구의 공유가 없었다는 점입니다.

 

코로나2.jpg

Siv Marie Lien(사용허가된 사진, DIPS AS)은 DIPS에서 고객 관리 업무를 수행하지만, 또한 간호사로서 코로나 사태 때 추가 근무를 하고 있습니다.

 

 

예를 들어, 최초의 항생제인 페니실린은 1928년 알렉산더 플레밍 (Alexander Flemming)에 의해 런던 연구소에서 발견되었지만, 1940년대까지 국제적으로 치료약으로 인정받지 못했습니다. 다시 말해, 실험실에서 실제로 적용하기까지 12년이 걸렸습니다. 하지만 현대 기술은 다르죠.

 

코로나 바이러스(SARS-CoV-2)는 정말 새로운 것이지만, 과학이 이해하는 방식으로 작동하며, 바이러스 확산을 막는 간단한 조치를 취할 수 있습니다. 유럽, 아시아 및 인도는 현재 폐쇄 상태에 있습니다. 사람들은 말 그대로 일주일 내내 24시간 집에 머무르고 있습니다. 이는 새로운 피해자가 생기지 않도록  접근을 차단함으로써 바이러스와 싸우는데 도움이 됩니다.

 

동시에 연구원들과 의료진들은 감염된 사람들을 치료하기 위한 효과적인 방법을 찾고 있습니다. 그리고 양성반응을 보인 사람들의 회복률이 80%라는 사실을 간과해서는 안됩니다.

 

 

 

잠재적인 경기 침체 극복

글을 쓰고있는 현재, 코로나 바이러스는 전 세계의 여러 지역에 다양한 영향을 끼치고있습니다 (따라서 정보의 관련성은 지역에 따라 다를 수 있습니다). 변수가 워낙 많기 때문에, 바이러스가 얼마나 더 오래 지속될지는 확실히 말할 수는 없습니다. 노르웨이 정부 발표에 따르면, 최소한 5월까지는 폐쇄가 지속될 것으로 보입니다 -  한국의 상황은 다행히 또 다르지만요 -. 매주 다르게 변수가 발생하고 있어 계속해서 지켜보아야 겠습니다.

 

지금 우리가 할 수 있는 일은 과거 경기 침체 현상에서 참고할만한 공통적인 특성과 패턴을 찾아내어 살펴보는 것입니다.

경기 침체는 수백 가지 방향으로 진행될 수 있지만, 일단 사람이 예측 가능한 방향으로 가장 먼저 진행됩니다. 최근 전 세계가 불경기로 인한 경제 타격을 받고있다는 점을 기억해야겠습니다. 사실 2000년, 1990년, 1980년대에 이르기까지 엄청난 경제적 불황이 있었습니다. 2000년 닷컴 버블(한국에서는 IT버블이 익숙한 분들도 많죠)에 대한 기억은 꽤나 생생합니다. 왜냐하면 제 삶이 송두리채 바뀌었기 때문입니다.

 

IT버블이 터졌을 때, 아무런 계획이 없었기 때문에 그 후 12개월을 완전히 공황상태로 보냈습니다.

 

우리는 최고의 시나리오와 최악의 시나리오를 보았습니다. 그래서 이번에는 우리의 경험을 활용하여 더 나은 결과를 얻을 수 있습니다. 다시 돌아가서 닷컴 이슈를 통해 도움되는 것이 있는지 살펴 보겠습니다.

 

 

예측 가능한 변수

제가 구직이 어려웠던 이유는 특화된 업무 영역을 담당하고 있었기 때문입니다. IT버블이 터졌을 당시 제 담당 업무는 사실  기업에 꼭 필요한 영역은 아니었습니다. 하지만 당시에는 저의 특별함과 전문 능력이 꼭 시장에 필요하지 않다는 걸 몰랐습니다. 그래서 바로 눈 앞에 놓여있는 기회조차도 놓쳤던거죠.
 
IT버블 사태와 같은 위기에 직면했을 때; 그리고 현재 코로나바이러스가 유행할 때, 보통 세 가지 일이 일어납니다.
 
1. 시장은 두 가지 범주로 나뉘게 됩니다.
   a.  필수 서비스
   b.  불필요한 서비스
 

2. 적응형 비즈니스가 번창합니다.

 

3. 단일 구조로 되어있는 모놀리식(Monolitic) 비즈니스 모델은 문제가 발생할 수 있습니다.

 

월터 프릭 (Walter Frick)은 최근 하버드 비즈니스 리뷰 (Harvard Business Review)에서 불황을 이기고 생존하고 번성하는 방법에 관한 기사를 발표했습니다. 읽을 가치가 충분히 있는 기사입니다.

 

 

필수 서비스

상황에 따라서, 시장에 필수적인 요소와 그렇지 않은 것은 바뀔 수 있습니다. 그러나 어느 상황에서든 생존과 안정에 필요한 것은 필수 요소가 될 수 밖에 없고, 즉각적인 유익성이나 안정성이 떨어지는 것은 불필요하다고 판단될 것 입니다.

 

IT버블 당시, 델파이 소프트웨어 개발이나 IT 분야에서의 필수적인 요소는 우리가 매일 같이 활용하게 되는 비즈니스 영역의 프로젝트로 제한적이었습니다 (이는 IT버블 시대를 특징하는 개념인 "스핀"(투자)이나 다양한 계획들과는 극명하게 대조를 이루는 것이죠). 정리하자면, 사람들과 기업들은 필수적이고 기본적인, 신뢰할 수 있는, 살아남기 위해 필요한 것으로 돌아가게 되는 것입니다. 그 외 다른 모든 것은 중요하지 않다고 판단해버립니다.

 
노르웨이의 경우, 필수적인 비즈니스 분야는 석유, 헬스케어, 운송, 물류, 농업, 보험 분야였습니다. 즉, 새로운 시장을 개발하는 것보다 기초가 되는 비즈니스 유지에 집중하였습니다 (지금 우리의 경우, 시장은 창의적인 소프트웨어 개발에서 네트워크 관리, 빅데이터, 보안, 리소스 공유 분야로 집중하는 분야가 바뀌고 있으며 15년 후에는 클라우드 컴퓨팅이 다시 부상하게 될 것입니다).
 
 
 

나아가야 할 방향

오늘날의 상황과 비교해보자면, 패턴은 동일하지만 변수가 바뀌었습니다 (그러나 이번에는 패턴을 알고 적응할 수 있죠). 지구촌이 폐쇄되면서 상점, 대중 교통, 아울렛, 석유, 보험 분야가 가장 큰 타격을 입었습니다. 이 분야와 관련된 업무들은 줄어들게 될 것입니다.

 

만약 현재 여러분이 하고 있는 사업이 단일적인 성격 (예. 방문 고객에 따라 좌지우지되는 상점)이라면, 그 비즈니스는 현재 상황에 필수적인 서비스라고는 할 수 없을 것입니다. 직원들이 재택 근무를 할 수 있는 인프라가 갖춰지지 않은 소프트웨어 기업 또한 이와 같은 영역이라고 할 수 있습니다.

 

그러나 상황에 적응하고 온라인 배달을 확대하여 택배서비스(택배 회사와 팀을 구성)를 제공한다면 적응형 비즈니스 모델로 운영되며 성공, 번성 가능성도 기하 급수적으로 높아집니다.

 

소프트웨어 개발자는 단순히 디지털 매체를 사용하여 물리적 패키지를 선적하지 않고도 배포 할 수 있다는 장점이 있습니다. 발생하는 비용 또한 호스팅 비용이나 현장 인프라 구축 정도일 것입니다. 바로  지금이야말로 가상화와 도커에 대해 자세히 배울 수 있는 가장 좋은 타이밍입니다. 여러분의 비즈니스는 어떤가요? 개발자들이 재택 근무를 할 수 있는 환경이 구성되어 있고, 귀사의 소프트웨어는 현재 시장에서 필수적인 서비스 영역에 있다고 확신하실 수 있나요? 

 

 

 

델파이와 코로나 바이러스 퇴치의 역할

코로나 바이러스 얘기로 시작해서, 전염병 기간 동안 변화하는 업계 방향 얘기 그리고 엠바카데로 델파이로 이야기로의 전개가 갭이 있다고 느껴질 수도 있습니다. 이해합니다. 하지만 앞서 이야기했듯이 델파이는 의료 소프트웨어 업계에서 강력한 입지를 차지하고 있습니다 (이는 한국 시장 또한 마찬가지입니다 - 거의 국내 대부분의 대학 병원, 대형 의료 프로그램 개발사, 약국 등이 델파이를 사용하고 있습니다). 의료 서비스는 앞으로도 가장 필수적인 서비스 분야 중 하나이죠. 

 

의료 소프트웨어 업계는 매우 방대합니다. 연구소에서 사용하는 분석 프로그램부터 치과, 안과 등 일반적인 의료 서비스에 이르기까지 현대 의학의 모든 측면을 총망라하고 있습니다.

 

 

지난 2월에 노르웨이의 회사인 NorJournal에 대해 글을 쓴 적이 있습니다.이 회사는 치과 회사와 외과 의사를 위한 완벽한 저널링 시스템을 구축하고 판매합니다. NorJournal은 300개 이상의 치과 진료소를 관리하여 수천 명의 환자를 치료하는 클라이언트-서버 기반 시스템입니다. 그리고 x-ray 분석을 다루는 모듈에 이르기까지 전체 제품이 엠바카데로 델파이로 완벽하게 작성되었습니다.

 

이번에는 좀 더 큰 회사를 살펴보고 싶은데, 이 회사는 코로나바이러스에 대항하기 위한 소프트웨어(DIPS AS) 공급에 직접 관여하고 있습니다.

 
 

DIPS AS

DIPS 회사는 스칸디나비아에 위치한 헬스케어, 의료 소프트웨어의 최대 공급 업체 중 하나입니다. 300명 이상의 개발자들이 있습니다. DIPS 사에서 선보이는 소프트웨어는 병원&부서 관리부터 특수 치료 장치 및 의료 연구 시설 운영에 이르기까지 모든 것을 포괄합니다.

 

코로나5.png

델파이로 작성된 모듈형 의료 애플리케이션인 FastTrak. 코로나 19 모듈을 보여줍니다.

 

노르웨이 의료기관 5곳 중 4곳은 DIPS 솔루션을 사용하고 있으며, 총 15만 명의 의료전문가들이 이 소프트웨어를 사용하고 있습니다.

 

 

패스트 트랙(FastTrak)과 코로나-19

DIPS 사가 서비스하고 있는 프로그램 중 하나인 패스트 트랙(FastTrak)은 코로나19 최전선에서 사용되고 있습니다. FastTrak은 델파이로 개발된 모듈식 애플리케이션으로 감염 추적, 테스트, 문서화에 중점을 둔 최초의 코로나19 대유행과 관련된 애플리케이션들 중 하나입니다.

 

코로나6.png

Covid 19 환자를 위한 FastTrak 스크린닝 화면

 

문서는 의료 분야에서 특히나 중요합니다. (텍스트 편집과 혼동해서는 안됩니다. 소프트웨어가 진료소와 부서간에 정보가 전송되는 방식의 기초를 형성하는 정부 이슈 스키마 및 XML 프레임 워크를 제공하고 사용할 수 있습니다) ; 높은 수준의 보안과 기밀성을 제공합니다.

 

문서화는 의료 분야에서 특히나 중요합니다 (혼동하시면 안 됩니다! 텍스트 편집이 아닌 진료소와 관련 부서들이 주고받는 형태의 정부에서 제공하는 스키마, XML 프레임워크를 작업할 수 있는 소프트웨어를 의미합니다); 이 모든 작업에는 높은 수준의 보안성이 필수입니다.

 

 

 

델파이 뿌리

FastTrak은 처음 눈으로 보는 것보다 그 안을 살펴보면 굉장히 단단한 뿌리가 있다는 걸 알 수 있습니다. 코드의 경우, 굉장히 현대적인 기술들을 사용합니다. 예를 들면 DI(의존성 주입, Dependency Injection), 간결한 인터페이스 추장화, 제너릭 등이 있습니다. 그리고 많은 사랑을 받았던 Spring4D 프레임워크를 아키텍처로 활용합니다. 코드는 간결하고 세련되며, 잘 정리되어 있습니다. 많은 거장들과 일을 해봤지만, 이렇게 잘 짜여진 코드는 거의 본 일이 없습니다. 코드베이스를 살펴보면서 정말 많이 놀라고 감명 받았습니다.
 
 
코로나7.png

환자와 접촉 한 사람들에게 경고하거나 알리는 FastTrak 감염 추적 기능은 반응 시간을 줄이고 치료 옵션을 넓히는 데 도움이됩니다.

 

이 프로그램을 처음 개발하기 시작했던 Magne Rekdal 씨의 이야기를 빌려보면, 

-"코드베이스에서 가장 오래된 부분은 1999년으로 거슬러 올라갑니다. 코드의 일부분은 그 해 2월 14일 출시되었던 스마트하트(SmartHeart)에서 사용됐던 것입니다. 출시도 델파이 4번째 생일에 맞추었습니다. 프로그램 아이콘도 빨간색 하트모양이었죠."

 

- "2003년 1월 덴마크 코펜하겐에서 알려진 것과 같은 모습으로 출시가 되었습니다. 고객들의 의료 문서 요구사항에 맞추어 새로운 모듈로도 쉽게 확장할 수 있도록 설계하였습니다. 원래 백엔드는 MS SQL 서버 6.5, MSDE 2000이었어요"

 

이후로도 새로운 언어의 기능들, 더 나은 구성, 모듈식 디자인을 적용하면서 여러번 업데이트되었습니다. 델파이와 마이크로소프트 SQL 서버 모두 가능한 이전 버전과도 호환이 잘 되도록 구성되어 있고, 이 부분에도 관심을 기울이고 있습니다.

 

 

델파이 7처럼 오래전 델파이에서 작성되었던 소스 코드는 다행스럽게도 최신 버전에서도 컴파일, 실행되기는 합니다. 델파이에서의 현대화는 소스 코드를 제거한다던가, 현대적인 구성으로 대체해야만 하는 복잡한 작업이 아닙니다. 일반적으로 굳이 새롭게 코드 재작성이나 아키텍처를 처음부터 재구성해야 할 필요는 없습니다.

 

제너릭이 좋은 예가 될 수 있겠네요. 제너릭을 반드시 사용할 필요는 없지만, 대체할 상용 코드(boilerplate code)는 상당히 많습니다. 유지보수 또한 중요한 요인입니다. 델파이에서의 기술진화는 너무나 당연한 것입니다. 절차, 객체지향, 제너릭 계층이 공존한다는 것만 보아도 말이죠.

 

 

델파이 사용의 이점

델파이의 가장 특징적인 이점 중 하나는 바로 생산성입니다. 오래전부터 델파이의 생산성은 많은 개발자들에게 인정받아 왔습니다. 객체지향과 델파이의 시그니처인 RAD (Rapid Application Development) 개발 전략이 바로 그 생산성의 원동력이죠. 결과적으로 델파이는 TTM (제품을 출시 시기)이 굉장히 단축됩니다. 개발자가 기능상 스캐폴딩(Scaffolding)이나 코드 인프라 구축보다 당면한 작업에 집중할 수 있기 때문이죠.

 

FastTrak 코로나-19 모듈이 그 완벽한 예입니다. DIPS 사가 스칸디나비아에서 최초로 선보인 모듈이 있었기에, 의료 전문가들이 신속하고 효율적으로 대응할 수 있었습니다. 대기업인 DIPS AS는 여러 언어와 솔루션들을 운용하고 있습니다. 그 중에서도 데이터 기반 설계와 모듈식 아키텍처를 갖추고 있는 FastTrak은 델파이 생태계에 확고히 뿌리를 두고 있습니다.

 

바로 시간의 시험을 견디고 변화하는 패러다임에 맞추어 진화해온 생태계이죠. 10년 전과 변함없이 여전히 활기차고 생산성이 뛰어납니다.

 

 

트레이드 툴

FastTrak은 엠바카데로 델파이의 풍부한 생태계를 기반으로 구축되었습니다. 델파이와 C++빌더의 주요 강점 중 하나는 컴포넌트 기반의 모듈식 설계입니다. 특히 델파이의 경우, 상용/비상용 컴포너트들을 제공하는 벤더사들이 다양하게 많습니다. 이 벤더사들은 각각의 한가지 특징적인 기능에 포커스를 맞춘 바로 사용 가능한 형태로 솔루션을 제공합니다.

 

FastTrak에는 모든 델파이 개발자에게 친숙한 컴포넌트 패키지가 사용되었습니다:

  • 패스트리포트 (FastReports)

  • Konopka VCL 컨트롤 (Raize)

  • ODAC 데이터베이스 컴포넌트 

  • Spring 4D 프레임워크

  • BergSoft 컴포넌트

 

애플리케이션 개발에 필요한 주변 솔루션들 또한 델파이 제품들로 구축했습니다:

  • 도움말 및 매뉴얼

  • FinalBuilder

  • Beyond Compare

  • Doc-O-Matic

  • Database Workbench Pro 

 

실제 시장(market)에서 다양한 성공적인 제품들을 만날 수 있습니다 - 델파이는 그 성공의 핵심 요소이죠! 앞으로도 몇 주, 몇 달, 수년 후에도 계속해서 더 많은 델파이로 개발된 소프트웨어들을 만나보았으면 좋겠습니다.

 

 

 

델파이로 개발된 더 많은 개발사례들

 

우리는 생활 속 다양한 분야에서 RAD스튜디오(델파이, C++빌더)로 만든 프로그램들을 만날 수 있습니다.

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 7246
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 7080
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 9461
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 14496
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 16251
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 12043
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 31097
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 166960
1221 [10.4 시드니 신기능] 겟잇 패키지 매니저(GetIt Package Manager) 개선 험프리 2020.05.21 450
1220 [10.4 시드니 신기능] 컨트롤 개별 VCL 스타일 적용(Per-Control Style) 적용 험프리 2020.05.19 758
1219 [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 1999
1218 [10.4] 커스텀 매니지드 레코드(Custom Managed Records) 험프리 2020.05.14 889
1217 [고객 사례- 솔루션, 델파이] Beyond Compare - 데이터, 시스템 비교/병합/관리 프로그램 관리자 2020.05.14 590
1216 델파이, 25년의 혁신 - 버전 1부터 10.3까지 버전별 핵심 기능 [2] 관리자 2020.05.12 1461
1215 [고객 사례- 솔루션, 델파이] AlignMix - 시각화된 세일즈 관리 도구 관리자 2020.05.12 255
1214 [10.4 시드니 신기능] 다시 태어난 '코드 인사이트' [2] file 험프리 2020.05.08 1322
1213 [발표자료] 20200429 델파이 Push 메시지 전송 시스템 구현 방법 with 구글 Firebase [3] file 관리자 2020.05.04 710
» 헬스케어 분야에서의 델파이 - 코로나에 맞서며 file 김원경 2020.04.29 484
1211 [고객 사례- 의료, 델파이] COVID-19 격리 대상자 상태 관리 앱 관리자 2020.04.28 531
1210 이 달의 기술자료 - 2020년 05월 file 험프리 2020.04.24 282
1209 [사례 소개] 데브기어 마이그레이션 유상 컨설팅 사례 험프리 2020.04.22 367
1208 인터베이스와 FireDac에서 배열필드 사용하기 file 김원경 2020.04.16 310
1207 인터베이스, FireDAC 및 TEMSDataSetResource를 사용하여 RAD 서버에서 자동 증가 필드를 생성하는 방법 file 김원경 2020.04.16 315
1206 델파이용 벡터 컨테이너 file 김원경 2020.04.14 561
1205 [프로그래밍 애피타이저] 개발이 처음이거나 비 전공자 분들을 위한 가장 첫 번째 STEP! 관리자 2020.04.13 1889
1204 인터베이스(InterBase) 2020 버전을 사용해야 하는 5 가지 이유 file 김원경 2020.04.09 5860
1203 [프로그래밍 애피타이저] 10장 트랜잭션의 정의 file 김원경 2020.04.09 343
1202 [프로그래밍 애피타이저] 9장 저장프로시저와 트리거 file 김원경 2020.04.09 402