Good Bye VIVID

The function of the pill counter used in the pharmacy has been stopped. As it is limited to the U.S., we cannot demand any rights in Korea, so we will accept it. However, it is important to note that if you enter the Korean market, there may be a legal dispute over the deletion of the no-notice software this time.

It is tyranny by their misunderstanding without a clear statement of position on copyright and patent rights.

I have carefully examined the patent attorney and the data on your product and the products we are developing. Under domestic and international laws, you have been told that it is not right to claim that we copied your product as it is.

Especially in the copyright section, you won’t find a single line of the same code. We don’t know what development tools you use, but we used Open CV.

I asked you for information about your patent rights in blogs and letters. You guys didn’t answer. Also, as a result of the search, we can’t find any patents you’ve acquired. Obviously I mention it. If we violate your patent, we will either exclude the patent part or pay the reasonable cost after the review. Please proceed with your patent registration in Korea before our product is completed. but we are almost done.

We are about to throw your product into the trash can, and a Korean healthcare giant has contacted us that they wants to collect it. As you have given up this product by removing your software, no rights remain.

I’ll decide what decision to make after I think about it.

어느 사회나 부역자는 존재한다.

새로운 프로젝트를 시작할때마다, 해당 관련 법안을 챙겨서 체크해보는 기계적 패턴이 있다. 이러한 패턴은 진부하지만, 극한 위기에서 나를 굳건히 세워준다. 자신의 한치 이익 혹은 알량한 자존심 때문에 스스로 부역자의 삶을 사는 불쌍한 사람도 간혹 만나게 된다.

내가 미국의 회사로부터 제품을 구매했다는 이유만으로 비난 받는다면, 아랫 글의 레퍼런스 들이, 그리고 아직도 내 디스크에 담겨져 있는 너희 제품과 유사한 프로젝트들의 결과물이 너희 제품도 순전히 카피제품 아니냐라고 반문할 정도의 증거를 가지고 있다.

구글 번역기로 내 글을 번역해 읽을 미국 친구들을 위해, 글을 최대한 단순하게 쓴다. 너희가 관심 없이, 제안을 거부하고 포기한 지역에서 해당 기술을 스스로 개발하고 운영하려고 하자, 내가 너희의 특허를 침해 했다고 한다.

아무리 눈씻고 봐도 너희가 취득한 특허는 보이지 않는다. 제품의 유사성은, 내가 열거한 증거자료만으로도 충분히 너희의 제품과 유사하지 않은가? 오히려 너희가 그중 제일 뒤늦게 시장에 합류한것으로 나는 파악하고 있다. 공개적으로 요구한다. 내가 개발중인 제품이 너희가 취득한 특허에 어떤 부분을 침해하고 있는지, 혹 나뿐 아니라 앞서 언급한 각 회사들의 제품 역시 너희의 특허를 침해하고 있지 않은지 분명히 해달라. 기왕이면 특허 등록 번호를 요구한다.

내가 직접 개발에 나선 이유에 대해 밝힌다.

우선 너희 제품은 한국의 표준 시간 조차 지원하지 않는다. 두번째 한국에 특화되어야 하는 반알 혹은 1/4알을 지원하지 않는다. 한국의 공공데이터를 활용 못한다. 한국은 gs-128 매트릭스 바코드를 사용하지만 너희는 1차원 바코드만 지원한다. 이러한 지원만으로도 너희의 제품과 분명히 차별성이 있다.

또한 계수 기능은 우리에게 제공하는 하나의 서비스일뿐이지, 약국안에서 진행되는 다양한 업무를 손쉽게 할 수 있는 허브로써의 역할을 수행한다. 심지어 라벨 프린터도 직접 컨트롤 할 수 있는 다목적 기능을 가진 제품이다.

굳이 너희 편하게 읽으라고 영어로 쓰지 않는 점 이해 바란다.

Who blames us?

We developed the Korean pill counter algorithm by ourselves. After a thorough review of various literature studies and patent records in the United States and Korea, it was confirmed that there were no legal problems. Based on inspiration from various products in the United States, we have not adopted designs that look too similar to those of certain companies.
We are still enjoying the company’s products. And I admire what they’ve done. If we have used the other party’s patent at will, we will first review whether the patent is registered in Korea, and if there is anything to correct, we will change it to a direction that does not infringe the patent. However, if you simply unilaterally claim the right to develop a new product with similar functions, we cannot accept it.

Only representative materials are listed among the various materials we refer to for development.

If I had tried to copy your product openly, I wouldn’t have made the development process transparent.

You’ll know for yourself. There can be no patent for vision checks or counting.

If the counting technology using Open CV violates your copyright, we will make reasonable reparations.On the other hand, if it turns out that our technology has nothing to do with you, you’ll have to take due responsibility for it yourself.

If you simply insist on your rights over cosmetic similarities, how would you describe the following products?

If you have a informant who tipped off you about this project, it could be someone I know.

알세기 기능 살펴보기

새로운 도전에 신기해서, 호기심에 이 글을 읽는 사람들도 있겠지만, 그중에는 진심 이러한 제품을 필요로하는 직능단체 혹은 약사들도 있을거라 생각한다. 그러기에 이 제품이 어떠한 기능들을 담고 있는지에 대한 가이드가 필요하다 하겠다. 근래들어 조금 불편한 마음이 들기 시작 했다. 단 한차례도 경쟁관계라 생각 안했던 알약 계수 어플 개발 약사쪽으로부터 (혹은 그의 팬덤) 우리 제품에 대한 부정적 언사와 우리 제품이 자신들의 아류라는 말도 서슴없이 나오고, 우리 제품이 시장에 나와도 자신들에게 특허료를 지불해야만 우리 제품을 판매할 수 있을것이라는 얘기도 오가고 있다. 내가 그가 속한 커뮤니티를 열람할수 있는 권한이 없기에, 그쪽 소식을 읽고 전해주는 약사님들로부터 정보를 취합할수 밖에 없다.

가장 기초가 되는 화면이다. 퀵 카운트는 아무런 기록을 남기지 않고, 알약수를 헤아릴때 사용한다. 단순히 알약의 갯수를 파악하고 싶을때 별다른 요구조건없이 이 기능을 활용하면 된다.

제품에는 트레이에 진동을 인가하는 진동 버튼과, 합산모드를 활성화 시키는 +버튼이 제공된다. 작은 알약의 경우 경험상 한번에 2-300정의 알약을 카운팅 할 수 있지만, 그 이상을 넘어가는 수의 알약을 카운팅 해야할 경우 +버튼을 통한 합산 기능을 제공한다.

Rx count의 경우 처음 시작과 함께 소분할 통에 붙어 있는 바코드를 리딩 시켜준다.

그 다음에는 용법을 지정한다.

마지막으로 투약 일 수를 지정한다.

용법과 투약일 수를 지정하면, 우리가 카운팅 해야하는 알약의 숫자가 자동으로 등록되며, 그 수에 맞춰셔 트레이에 알약을 떨어트리면 된다. 이때 부족하거나, 넘치거나 하는것도 실시간으로 모니터링이 되기에, 작업자는 별다른 셈을 할 필요가 없다. 화면에서 보여주는대로 작업을 하면 된다.

연결된 라벨 프린터가 있다면 상기와 같이 약이 담겨져 나가는 공병에 붙일 라벨이 함께 인쇄가 된다. (환자 이름이나, 처방병원등은 지금 설명에서 생략했지만, 입력하는 창이 따로 있다. 반면 헬스케어 업체들과 협력이 된다면 그들의 데이터를 그대로 가져와 별다른 입력없이 활용할 수 있을수 있다.)

레포트 기능을 통해서 작업자가 작업한 내역을 확인해 볼 수 있다. 이때 민감한 향정이나 마약류 같은 취급시 주의가 필요로 하는 약품에 대한 이중 검사가 가능하므로 행여 벌어질 불미스러운 분실사고등에서 작업자의 알리바이를 증명해주는 주요한 역할을 할 수 있다.(순기능적으로 활용)

이 외에도 사용기간을 자동으로 등록하여, 사용기간이 임박한(보통 6개월 전, 기간 설정 가능) 자동으로 소팅하여 반품하는데 도움을 줄수 있는 기능도 함께 제공한다. 당연히 입고가 되면 폐기 혹은 반출 기능도 함께 제공되며 제품 자동 등록시, 제품의 위치 또한 지정할 수 있어서, 작업자가 손쉽게 접근할 수 있도록 했다. 이부분은 차후 또다른 하드웨어 개발과 함께 더 발전시킬 것이다. 무엇보다 반품 대상이 되는 약품이 어느 도매상을 통해 입고 되었는지도 파악할 수 있기에 약국장(홍남기 부총리 표현대로라면 약국주인)이 재고 관리 문제에 있어서 부담을 덜 수 있게 한다.

*아 콩글리쉬는 코딩하면서 바로 잡기로 한다.

주) 나를 불편하게 했던 해당 어플 약사로부터 우리를 폄하하고 있지 않고, 본인이 올린 글에 딸린 댓글중에 있던 내용으로 자신과 무관하다는 입장을 밝혔다.

오랫만에 셔터맨 알약계수기 개발

하드웨어에서 잡아 먹은 시간만큼이나, 소프트웨어에서도 시간을 잡아 먹는다. 그러는 동안 특허 심사도 진행중이다.

1.하드웨어

우선 하드웨어 부분을 종합해서 복기해보면, 제품이 생각보다 심플하다. 이에 더나가 하드웨어 개발자들은 행여 양산을 염두해두어 부품들을 모두 독자적 모듈라 규격으로 Push & Lock 으로 새롭게 디자인하고 있다. 즉 제품에 문제가 생겨 물리적 a/s가 발생할시에, 5분안에 해결을 할 수 있게끔 하드웨어 점검 시스템을 구축한다는 것이다. 현재의 수십개가 박혀 있는 나사들을 대부분 걸쇠 형식으로 변경하고 밀어서 잠궈버리는 형태로 새롭게 작업할 태세이다. 이는 약국이 복잡하고 바쁘기에, 이 제품 수리하는데 많은 시간이 소비되서는 안된다는 약사의 주장에 의해 새롭게 진행되는 것이다. 반사판의 백라이트의 경우 끝에 한면에서만 빛을 발사할 경우 육안으로는 판단 안되지만, 카메라에 맺힌 상을 보면 LED 모듈이 장착된 반대 쪽으로 갈수로 음영이 생기는것을 알게 되었다. 현재는 반사판 양쪽으로 쌍으로 LED 모듈을 장착하여 균일한 밝기를 내고 있지만, 이 부분에 대해서도 추후 한쪽에서만 빛을 내더라도 균일하게 퍼질수 있는 장비를 개발하겠노라 하였다. 부품 가격은 얼마 안하지만, 부품이 늘어나는것은 그만큼 고장 확률이 높아진다는 얘기이다. 또한 각 부품끼리 결합할 경우 모듈러화 되어 부품들을 전선 콘센트 꼽듯 그자리에 위치하면 자동으로 연결되게끔 작업하는것이 목표이다. 트레이에 올려진 약을 균일하게 펼쳐 줄 모터 충격장치도 여러 시행 착오와 테스트를 거쳐 최적의 충격 값을 도출했다.

2.소프트웨어

제품명을 팜.허브로 정했다. 현재는 이 제품이 수행할 가장 중요한 파트라고 할 수 있는 알약 계수에 관한 종합적인 솔루션을 제공하는데 의를 두고 있다. 하지만 이 제품이 일정 수준 보급이 된다면, 약국 전산 청구 프로그램과 연동하여, 종합 DB 구축과 물류시스템으로 확대시키려 한다. 또 일정 수준의 API를 제공하여 제 3 개발자들이 이 제품을 허브로 하여 약업계 관련 어플들을 출시할 수 있게끔 플랫폼화 시키는것이 최종 목표이다. Pharm.farm이라는 스토어를 오픈계획(?)을 갖고 있다. 하지만 현재는 기본적인 기능에 집중해야 하는 상황이다.

1)실시간 분석에 대한 서로 다른 입장들….

단순한 원리이다. 알을 올려 놓으면 이게 총 몇개인지를 실시간으로 분석하여 제공해주는 제품이다. 하지만 이 말에는 많은 정보가 빠져 있다. 이 약을 왜 세야 하는지에 대한 근본적인 이해가 필요하며, 이에 맞는 솔루션으로 접근해야 한다. 약사는 트레이에 올려 놓은 알약의 총량을 필요로 하는것인지, 혹은 타겟으로 하는 수량이 따로 있는지에 대한 고민이 우선 해결되어야 했다. 당연히 일반적인 약국에서는 후자인 타겟 카운팅이 더 빈번하게 쓰일거라 판단했다. 이 근본적인 작업의 형태로 인해, 알약 카운팅 기술을 정지된 이미지를 저장하여 분석하고 결과를 내어주는 방식으로 갈지, 아니면 지속적으로 영상을 촬영하며 실시간 분석하여 결과치를 제공해줘야 할지 판단해야 했으며, 우리는 힘들더라도 영상 분석으로 결정하였다. 트레이에 올려진 영상을 따로 저장하고 분석하는것이 아닌 실시간으로 추가되는 만큼 혹은 빼는 만큼 결과값을 모니터를 통해 제공하게끔 했다. 이로 인해 개발이 더 늘어지고 있다. 러프하게나마 개발된 엔진(모듈) 영상을 돌려보니, 이만하면 시장에 내놓아도 되겠다 생각들지만, 개발자의 생각은 좀 다르다. 카운팅 특성상 일부 약들이 stack화라고 하여, 위에 두약이 포개져 있을때도 있다. 이럴때는 트레이를 흔들어주거나, 혹은 진동 버튼을 누르라는 지시어를 프로그램에서 띄어주면 되는데, 이 작업까지 가지 않고 정밀도를 높이고 싶다고 하기에, 구경중이다. 개발 목표로 삼았던 미국 제품보다 정밀도가 훨씬더 뛰어난것 같은데(수치적으로), 개발자는 만족하지 않는 모양이다. 그리고 지속적인 데이터 수집을 통해서 수학적인 미분적분 얘기를 하는데… 뉴튼형은 여기서 왜 나오는지… 여튼 계산식을 지속적으로 업데이트하겠다고 한다. 아.. 전혀 못알아 듣는 말이다. 반면 정지된 영상을 분석해서 결과를 도출하는 방식의 카운팅 방식은 타겟 카운팅에는 조금 불편한 구조이다. 가령 150개를 세야 하는데, 트레이에 183개가 올려졌다고 친다면, 33개는 어짜피 수동으로 눈으로 세야 하는 구조이다. 150개 카운팅하는데 33개만 세도 된다고 하면 그것만으로도 의미 있는 진전이다. 하지만 우리는 아예 카운팅에 고민 자체를 안하게끔 하는 것을 목표로 삼았기에 실시간 분석 결과를 도출하는 영상 분석으로 결정한 것이다.

2) 여러 메뉴중 중심이 되는 Rx Count 화면

작업자의 로그와 제품명 그리고 유통기한등의 정보를 약병에 담긴 Data matrix 바코드를 리딩해서 정보를 얻고 이 결과값을 저장한다. 이때 프린터 버튼을 누르면 이 약에 대한 정보와 환자명, 약명과 EDI 코드, 그리고 용업에 대한 정보가 라벨지로 출력되어, 소분되어 나가는 통에 붙일수 있도록 제공된다. 특히 한국에서만 유독 많이 쓰이는 1/2정의 경우 제공되는 총 용량의 절반에 지나지 않지만, 카운팅상 두배의 갯수로 표시될 수 밖에 없다. 이리하여 총 용량과 총갯수를 분리하고 기록하여, 환자에게 제공된 정확한 알약수를 가늠하게끔 한다. 당연히 타겟 갯수가 지정된다면 화면상에 알약을 더 투입해야할지, 덜어내야 할지를 표시되게끔 한다. 많은 요구 조건을 최대한 심심하게 화면 구성하는것을 요구하였고, 기획자는 성공적으로 완수해냈다.

셔터맨은 태업중

이제 내가 할 일은 없다. 개발자와 디자이너가 서로 교류하면서 업무를 진행하고 있다. 충분히 현안과 해결방안과 최선책을 공유하고 있는터라 내가 나서서 이렇다 저렇다 말하는것은 꼰대다. 이따금씩 진행과정을 전달해주는데, 그 내용만으로도 진행 정도를 판단할 수 있기에, 부산을 떨며 챙겨볼 필요가 없어졌다.