KR20090083331A - 애플리케이션 프로그램 인터페이스(api), 개인 건강 관련 데이터와 상호작용하는 방법 및 건강 관련 데이터를 액세스하는 시스템 - Google Patents

애플리케이션 프로그램 인터페이스(api), 개인 건강 관련 데이터와 상호작용하는 방법 및 건강 관련 데이터를 액세스하는 시스템 Download PDF

Info

Publication number
KR20090083331A
KR20090083331A KR1020097006055A KR20097006055A KR20090083331A KR 20090083331 A KR20090083331 A KR 20090083331A KR 1020097006055 A KR1020097006055 A KR 1020097006055A KR 20097006055 A KR20097006055 A KR 20097006055A KR 20090083331 A KR20090083331 A KR 20090083331A
Authority
KR
South Korea
Prior art keywords
data
application
request
health
api
Prior art date
Application number
KR1020097006055A
Other languages
English (en)
Inventor
숀 패트릭 놀란
제프리 딕 존스
존슨 티. 아파시블
비자이 바라단
Original Assignee
마이크로소프트 코포레이션
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 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20090083331A publication Critical patent/KR20090083331A/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Stored Programmes (AREA)

Abstract

애플리케이션 프로그램 인터페이스(API)는 건강 통합 네트워크 내의 데이터를 요청하고, 저장하며, 그 밖에 액세스하기 위해 제공된다. API는 XML과 같은 확장가능 언어 포맷으로 요청을 수신하는 능력뿐만 아니라, 인증/인가를 제공함으로써 중앙에 저장된 데이터로의 안전하고 끊어짐 없는 액세스를 용이하게 하고, 결과적으로 얻은 데이터를 XML 포맷으로 반환한다. 데이터는 또한 데이터와 관련된 변환, 스타일 및/또는 스키마 정보를 가질 수 있는데, 이러한 변환, 스타일 및/또는 스키마 정보는 결과적으로 얻은 XML로 반환될 수 있고, 및/또는 API에 의해 미리 데이터에 적용될 수 있다. API는 HTTP를 통한 XML 및 소프트웨어 개발 키트(SDK)를 포함하는 다수의 환경 아키텍처에서 이용될 수 있다.
API, 건강 통합 네트워크, 건강 관련 데이터, XML 포맷, 변환, 스타일, 스키마, 소프트웨어 개발 키트

Description

애플리케이션 프로그램 인터페이스(API), 개인 건강 관련 데이터와 상호작용하는 방법 및 건강 관련 데이터를 액세스하는 시스템{HEALTH INTEGRATION PLATFORM API}
본 발명은 건강 통합 플랫폼 API에 관한 것이다.
고비용 저성능 데이터 처리 시스템에서 저비용 고성능 통신, 문제 해결 및 엔터테인먼트 시스템으로의 컴퓨터 및 네트워킹 기술의 발전은 서신왕래, 청구서 지불, 쇼핑, 정보 예산 및 수집 등등과 같은 일상적인 일을 수행하는 부담을 줄이기 위해 비용이 효과적이고 시간이 절약되는 수단을 제공했다. 예를 들어, 유선 또는 무선 기술을 통해 인터넷에 접속된 컴퓨팅 시스템은 세계 각 국에 위치한 웹 사이트 및 서버의 리포지토리(repository)로부터의 풍부한 정보로 거의 즉시 액세스하기 위한 채널을 사용자에게 제공할 수 있다. 이러한 시스템은 또한 사용자가 정보를 수집할 수 있게 할 뿐만 아니라, 정보를 이종의 소스에 제공할 수 있게 한다. 이와 같이, 온라인 데이터 저장 및 관리는 점점 더 인기를 끌고 있다.
예를 들어, 공동 사회 네트워킹 웹사이트가 세계적으로 급증했다. 이들 사이트는 연령, 성별, 출신 학교, 졸업반, 근무처 등과 같은 개인 데이터를 포함하여 원격 저장된 프로필을 사용자가 작성할 수 있게 한다. 이 사이트는 차후에, 다른 사용자를 찾고자 시도할 때 - 즉, 비슷한 취미를 가진 사람을 찾거나 오랫동안 잊고지낸 고등학교 시절 친구를 찾고자 할 때, 다른 사용자가 상기 기준을 검색할 수 있게 한다. 더욱 실질적인 다른 예로서, 은행 웹사이트는 납부될 요금 청구서에 관한 정보를 원격 저장하는 능력을 사용자에게 제공한다. 이 기능을 이용함으로써, 사용자들은 납부 예정 시기에 자동으로 지급될 요금 납부가 그들의 은행 계좌에서 이루어지도록 자동으로 스케줄을 잡을 수 있다. 이것은 이렇게 계좌 결산 및 청구요금 납부의 동시 전자 관리를 가능하게 하여, 사용자가 수표 기입장에 수표를 수동으로 써넣지 않아도 되게 한다.
이 나라 및 전세계에서 매우 관심 있는 또 다른 분야는 개인의 건강 및 체력 분야(health and fitness)이다. 다수의 매우 다른 관심사가 이 분야에서 논의될 수 있는데, 이를 테면 개인 체력의 목표 설정과 달성, 및 우리의 의료 제도에 존재하는 비효율성에 관한 본질적으로 매우 다른 주제가 그러하다. 예를 들어, 오늘날, 질병에 대한 약물 치료를 받고자 하는 개인은 먼저 주치 의사를 만나야 한다. 의사를 만나기 전에, 환자는 여러 번, 건강 보험 카드를 보여달라는 요구를 받을 것이다. 방문 동안에, 의사는 통상적으로 환장에 대한 처방전을 쓸 것이다. 그 다음, 환자는 조제를 위해 처방전을 약국에 가지고 가는데, 이때 환자는 건강 보험 카드를 다시 제출할 필요가 있을 수 있다. 약국은 처방전을 조제하고, 보험에 통지하며, 임의의 보상 범위 액을 공제하고, 나머지 금액의 지불시에 환자에게 처방전을 건네준다. 이러한 수동적인 단계들은 시간이 소모되고, 성가시며, 비효율적이다.
다음은 여기에서 설명된 몇몇 실시양상의 기본적인 이해를 제공하기 위해 단순화된 요약을 나타낸 것이다. 이 요약은 광범위한 개요도 아니고, 핵심적인/중요한 요소를 식별한다거나 여기에서 설명된 여러 실시양상의 범위를 나타내고자 하는 것도 아니다. 그 유일한 목적은 나중에 제시되는 더욱 상세한 설명의 서론으로서 단순화된 형태로 몇 가지 개념을 나타내기 위한 것이다.
건강 통합 네트워크와 통신하는 애플리케이션 프로그램 인터페이스(API)가 제공되는데, 여기에서 애플리케이션은 개인의 건강 및 체력 관련 데이터를 검색하고, 저장하며, 그 밖에 액세스하거나 수정하기 위해 API를 이용할 수 있다. API는 새로운 코드가 구현될 필요없이 요청 또는 응답 XML에 대한 변경이 발생할 수 있는 개방 시스템을 용이하게 하기 위해 확장성 생성 언어(XML)와 같은 확장가능 언어 포맷으로 애플리케이션과 통신할 수 있다. 그러나, 부가적으로, API는 동작가능한 개방 시스템을 유지하는데 필요한 공통 포매팅 레벨을 유지하기 위해 XML 스키마를 따르도록 요구할 수 있다. API를 통해 요청되고 저장되며 반환될 수 있는 데이터는 또한 자체-설명적인 것일 수 있고, 데이터의 지능적인 렌더링을 용이하게 하기 위해 관련된 스키마와, 또한 변환 및 스타일 정보를 가질 수 있다. API는 또한 상이한 레벨에 관한 데이터를 액세스하기 위한 애플리케이션 및 사용자의 인증/인가 계층을 제공할 수 있다.
시스템에 저장된 데이터는 예를 들어, 혈압 수치, 보험 정보, 처방전, 가족력, 개인 병력, 진단, 알레르기, 엑스레이, 혈액 검사 등과 같은 건강에 관한 데이터일 수 있다. 게다가, 데이터는 예를 들어, 운동 루틴, 운동 목표, 다이어트, 운동 루틴에 기초한 가상 탐험, 경쟁 등과 같은 체력 관련 데이터일 수 있다. API는 저장, 검색 및 기타 액세스를 위해 이 모든 데이터로의 액세스를 용이하게 한다. 애플리케이션은 데이터에 값을 추가하기 위해 이 데이터를 액세스할 수 있는데, 예를 들어, 애플리케이션은 보험 회사가 사용자의 보험 정보를 입력할 수 있게 하고, 의원은 사용자에 의한 의사 방문시에 이 정보를 액세스하여, 사용자가 보험 카드를 보여줄 필요성을 경감시킬 수 있다. 이 예를 더욱 들면, 의사는 사용자의 계정 아래에 처방전에 대한 정보를 입력할 수 있고, 약국은 보험 정보뿐만 아니라, 사용자에 대한 처방전을 조제하기 위해 이 정보를 검색할 수 있어서, 사용자가 보험증을 보여줄 필요성, 및 처방전을 집어들 때 미끄러져 놓치는 일을 경감시킬 수 있다. 그러므로, API는 값을 추가하고 건강 및 체력 분야에서의 현재의 프로세스를 능률화하기 위해 개인 건강 및 체력 관련 데이터로의 가치있는 액세스를 다수의 애플리케이션에 제공할 수 있다.
상기 및 관련 목적을 달성하기 위해, 소정의 예시적인 실시양상은 다음의 상세한 설명 및 첨부 도면과 관련하여 여기에서 설명된다. 이들 실시양상은 실시될 수 있는 다양한 방식을 나타내는데, 이 모두는 본 발명에 속하게 된다. 그 밖의 다른 장점 및 새로운 특징은 도면과 함께 고려할 때 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 요청 컴포넌트와 백-엔드 데이터 컴포넌트 사이의 데이터 통신을 위 한 API의 이용을 용이하게 하는 예시적인 시스템의 블록도.
도 2는 예시적인 API의 블록도.
도 3은 애플리케이션과 건강 통합 네트워크 사이의 데이터 통신을 위한 API의 이용을 용이하게 하는 예시적인 시스템의 블록도.
도 4는 개인 건강 정보의 통신을 용이하게 하는 예시적인 시스템의 블록도.
도 5는 API로부터의 개인 건강 정보의 요청을 용이하게 하는 예시적인 시스템의 블록도.
도 6은 소프트웨어 개발 키트(SDK)를 사용하여 API로부터 개인 건강 정보을 요청하는 것을 용이하게 하는 예시적인 시스템의 블록도.
도 7은 예시적인 API의 블록도.
도 8은 API를 사용하여 건강 통합 네트워크로부터 데이터를 요청하는 예시적인 흐름도.
도 9는 애플리케이션으로부터의 개인 건강 정보의 요청을 처리하는 예시적인 흐름도.
도 10은 적합한 운영 환경을 도시한 개략적인 블록도.
도 11은 샘플 컴퓨팅 환경의 개략적인 블록도.
애플리케이션 프로그램 인터페이스(API)는 건강 통합 네트워크의 액세스를 용이하게 하기 위해 제공된다. API는 건강 통합 네트워크 내의 데이터를 검색하거나 저장하거나 수정하거나 그렇지 않으면 액세스하라는 애플리케이션으로부터의 요 청을 수신하고 처리할 수 있으며, 인증/인가 기능을 제공할 수 있다. API는 XML(Extensible Markup Language) 스키마에 따라 XML과 같은 확장가능 데이터 형태로 요청을 수신할 수 있고; 게다가, API는 XML 스키마에 따라 요청에 관련된 정보의 데이터 집합을 나타내는 XML로 그러한 요청에 응답할 수 있다. API는 API를 사용하기 쉽고 완료하기 쉬우며 경량화하기 쉽게 개인의 건강 및 체력 관련 데이터의 중앙 저장소를 효과적으로 생성하기 위해 이렇게 다수의 장치 및 애플리케이션과 함께 동작한다. 애플리케이션은 이러한 확장가능 시스템이 전혀 없는 경우에 상호-애플리케이션 운용성을 용이하게 하기 위해 다른 애플리케이션과 공유될 수 있는 그 자신의 유형을 지정할 뿐만 아니라 시스템 데이터 유형을 사용할 수 있다. 애플리케이션과 API 사이에서 통신하기 위해 사용된 확장가능 데이터 형태는 데이터가 저장되는 방법, 데이터가 변환되고, 양식화되며 및/또는 체계화될 수 있는 방법을 설명하는 데이터와 함께 사실상 임의 종류의 정보가 저장될 수 있게 함으로써 이것을 달성한다. 데이터는 또한 비구조적 또는 비체계적 방식으로 저장될 수 있고 얻어질 수 있다는 것을 알 수 있을 것이다.
본 명세서의 다양한 실시양상은 이제 첨부 도면과 관련하여 설명되는데, 도면 전반에 걸쳐 동일한 숫자는 동일하거나 대응하는 요소를 나타낸다. 그러나, 도면 및 이에 관한 상세한 설명은 청구된 주제를 개시된 특정 형태로 제한하고자 하는 것이 아니라는 것을 이해할 것이다. 오히려, 의도하는 바는 청구된 주제의 정신 및 범위에 속하는 모든 변경, 등가물 및 대안을 포함하고자 하는 것이다.
이제, 도면을 참조하면, 도 1은 건강 통합 네트워크에 참여하기 위해 이용될 수 있는 시스템으로서 데이터 저장 및 검색을 용이하게는 시스템(100)을 도시한 것이다. 요청 컴포넌트(102)는 API(104)에 데이터 검색, 데이터 저장 등의 요청을 지정할 수 있고, API(104)는 요청을 해석하고, 요청에 기초하여 백 엔드 데이터 컴포넌트(106)에 문의할 수 있다. 그 다음, 백 엔드 데이터 컴포넌트(106)는 API(104)에 응답할 수 있고, API(104)는 최소한 요청 컴포넌트(102)에 결과를 반환할 수 있다. 요청 컴포넌트(102)는 이를테면 요청을 함으로써 API(104)와 통신할 수 있는 임의의 장치일 수 있다. 가능한 요청은 요청 컴포넌트(102)의 인증/인가를 위해 이루어진 것들, 데이터 저장, 데이터 검색, 데이터 변경 및 데이터로의 임의의 값-추가 서비스, 이를테면 데이터 단위의 추가, 데이터의 포맷에 관한 스타일 및 스키마의 검색 및 적용, 사용자 인터페이스 및 데이터의 레이아웃 등을 포함하는데, 이에 제한되는 것은 아니다.
API(104)는 백 엔드 데이터 컴포넌트(106)와의 통신을 용이하게 하기 위해 요청 컴포넌트(102)로부터의 요청을 해석하는데 이용될 수 있다. 요청 컴포넌트(102)에 의해 보내진 요청은 HTTP(hypertext transfer protocol)를 사용하여 XML을 통해 이루어진 호출, API(104)에 직접 이루어진 호출, 및/또는 API(104) 주위의 래퍼(wrapper)에 이루어진 호출일 수 있다. XML의 사용은 구조가 변경될 수 있고 데이터 해석에 새로운 코드를 필요로 하지 않는 확장가능 데이터 모델을 가능하게 한다. 이것은 특히 XML 스키마와 함께 사용했을 때, XML의 자기 설명 능력에 기인한다. 게다가, API(104)는 인가된 요청 컴포넌트만이 백 엔드 데이터 컴포넌트(106) 내의 소정의 데이터를 액세스할 수 있게 하기 위해 백 엔드 데이터 컴포넌 트(106) 위에 보안 계층을 제공할 수 있다. 본 주제에 따르면, 백 엔드 데이터 컴포넌트(106)는 개인 건강에 관련된 정보를 수용할 수 있는데, 방대한 정보 저장을 포함한다. 이러한 정보는 비교적 정적이고(예를 들어, 키, 체중, 병력(개인 및 가족), 질병, 알레르기, 보험 등), 이벤트-특정적이며(예를 들어, 운동 처방, 운동 바이탈(vitals) 및 통계, 현재의 약 처방, 건강 진단 등), 완전 동적이고(예를 들어, 혈압, 심박수, 식이요법 등), 기타 등등일 수 있다. API(104)는 본인의 요구나 의사의 명령 등에 기초하여 특정 개인에게 이 모든 정보로의 액세스를 허용하고 제한할 수 있다.
더욱이, API 컴포넌트(104)는 이벤트를 트리거하고, 실시간 갱신을 제공하며(예를 들어, 콜백 함수 등을 통해), 경고를 수신하는 등등을 위해 이용될 수 있다. 더욱이, 요청 컴포넌트(102)는 이벤트 또는 경고를 수신하게 될 수 있다. 그러한 이벤트 또는 경고는 임계치를 넘는 데이터(예를 들어, 높은 혈압) 입력시에, 필요한 데이터의 부재시에(예를 들어, 혈당 레벨 수치가 없을 때), 현실 세계 이벤트의 발생시에, 획기적인 사건 또는 목표의 달성시에, 데이터 만료시에, 기타 등등에 발생할 수 있다. 그러므로, 여기에 제시된 주제는 개인 건강 관련 데이터의 유리한 추적 및 그 데이터가 가치 있는 당사자들 사이의 능률적 통신을 가능하게 하기 위해 개인 건강 관련 데이터의 중앙 집중식 저장 및 액세스를 제공한다. 게다가, API(104)에서 다시 요청 컴포넌트(102)로 반환되거나 보내진 값은 (예를 들어, 소프트웨어 개발 키트를 사용할 때) 오리지널 호출로부터의 반환 호출, HTTP를 통한 XML 등등일 수 있다.
도 2와 관련하여, 설명된 주제에 따라 데이터를 검색하거나 저장하거나 변경하거나 그렇지 않으면 액세스하라는 요청을 용이하게 위해 다양한 컴포넌트를 갖는 API(200)가 도시된다. API(200)는 데이터 액세스의 요청을 수신하는 수신기 컴포넌트(202), 요청을 해석하고 원하는 데이터 및 임의의 관련 데이터 및/또는 메타데이터(상기 데이터에 대한 데이터)를 수집하는 인터프리터 컴포넌트(204)를 가질 수 있다. API(200)는 또한 요청 엔티티가 원하는 요청을 하기에 충분한 액세스를 갖는다는 것을 보장하기 위해 인가/인증 규칙을 요청 엔티티에 적용하는 인가 컴포넌트(206)를 포함할 수 있다. API(200)는 원하는 경우에 데이터에 변환, 번역, 스타일 및/또는 스키마를 적용할 수 있는 변환 컴포넌트(208)를 가질 수 있다. 변환 컴포넌트(208)는 이렇게 얻은 데이터를 적절한 및/또는 사용가능한 변환 정보로 패키징할 수 있으므로, 요청 엔티티는 원하는 변환을 실행할 수 있다. API(200)는 또한 임의의 부가된 데이터뿐만 아니라 원하는 데이터를 다시 요청 엔티티에 보내기 위해 반환 컴포넌트(210)를 활용할 수 있다. 갱신 컴포넌트(212)는 또한 애플리케이션이 API(200)에 부가되게 하고, 통신 채널을 개방해서, 정보에 대한 갱신을 자동으로 수신할 수 있게 하기 위해 제공될 수 있다. API(200)는 API(200)의 사용을 용이하게 하기 위해 지능적인 루틴을 작성하는 루틴 패키징 컴포넌트(214)를 더욱 제공할 수 있다.
API(200)를 이용하여, 장치, 애플리케이션, 애플리케이션을 실행하는 장치, 애플리케이션을 갖는 시스템에 부착된 레거시(legacy) 장치 등과 같은 요청 엔티티는 API(200)에 데이터 요청을 시작할 수 있는데, 이 요청은 수신기 컴포넌트(202) 에 의해 포착된다. 요청은 예를 들어, 처방전 정보와 같은 개인의 건강 및/또는 체력 관련 데이터를 액세스하는 것일 수 있다. 수신기 컴포넌트(202)는 요청을 수신하여, 인터프리터 컴포넌트(204)에 보낸다. 인터프리터 컴포넌트(204)는 예를 들어, 데이터 검색, 데이터 저장 또는 데이터 변경에 대한 요청의 유형을 판정하고, 요청되는 레코드 또는 유형을 판정한다. 인터프리터 컴포넌트(204)는 요청 엔티티가 제시된 요청 유형에 대해 요청 데이터를 액세스하기에 충분한 권한을 가졌는지 판정하기 위해 인가 컴포넌트(206)를 활용할 수 있다. 예를 들어, 한 당사자는 배우자의 의료 진단을 변경하거나 심지어 그 의료 진단을 볼 수 있는 충분한 액세스를 갖지 못할 수 있다. 인가 규칙은 데이터가 직접 관련된 사람, 의료 전문가 등을 포함하여 많은 당사자에 의해 설정될 수 있다. 엔티티의 액세스가 거부되면, 반환 컴포넌트(210)는 다시 그 요청 엔티티에 (예를 들어, XML 포맷으로) 결과적으로 생긴 에러 통지를 보낼 수 있다.
액세스가 허가되면, 인터프리터 컴포넌트(204)는 관련 데이터를 액세스할 수 있는데, 처방전 예에서, 이것은 처방약 이름, 유형 코드, 지침, 용량, 의사의 서명이 있는 처방전의 이미지 등을 포함할 수 있다. 그 다음, 이 정보는 변환 컴포넌트(208)에 넘겨질 수 있는데, 변환 컴포넌트(208)는 요청 엔티티가 찾는 정보, 및 요청한 임의의 변환을 판정할 수 있다. 예를 들어, 아마도 요청 엔티티는 처방전의 그림을 요청하지는 않았을 것이고; 변환 컴포넌트(208)는 인터프리터 컴포넌트(204)에 의해 보내진 명령어로부터 그림 이외의 모든 정보를 얻기 위한 스키마를 적용할 수 있으므로, 텍스트 정보만을 보내는 것보다 상당히 많은 대역폭을 필요로 할 수 있는 그림을 보낼 필요성이 경감된다. 게다가, 아마도 요청 엔티티는 처방전에 대한 유형 코드의 번역을 원할 것이고, 예를 들어 코드는 항염증 치료를 나타낼 수 있으며, 요청 엔티티는 이 정보를 사용자에게 표시하고자 할 것이다. 또한, 아마도 활성 성분 및/또는 부작용의 설명이 유형 코드에 기초하여 반환될 수 있을 것이고 - 변환 컴포넌트(208)는 또한 요청한 경우에 이 정보를 수집할 수 있다. 원하는 모든 정보가 수집된 후, 반환 컴포넌트(210)는 요청한 포맷으로, 예를 들어 확장성 생성 언어(XML) 또는 임의의 반환 유형으로 데이터를 다시 요청 엔티티에 보낼 수 있다. 반환된 데이터의 레이아웃을 설명하는 첨부 스키마가 또한 반환될 수 있다.
갱신 컴포넌트(212)는 통신 채널, 예를 들어 파이프가 애플리케이션(또는 다른 수신 컴포넌트)과 API(202) 사이에서 개방되는 다른 유형의 데이터 액세스를 제공할 수 있다. 데이터가 건강 통합 네트워크와 같은 하위 시스템을 통과할 때, 갱신 컴포넌트(212)는 접속된 애플리케이션이 데이터에 접근할 권한을 가졌다고 하면, 소정의 데이터를 접속된 애플리케이션에 자동으로 통지(또는 경고)할 수 있다. 이 갱신 컴포넌트(212)는 이벤트 또는 소정의 임계치를 넘는 데이터의 실시간 발생에 기초하여 상이한 사용자들에게 경고가 보내질 수 있는 이벤트 기반 시스템을 용이하게 한다. 예를 들어, 혈압이 다수의 일관된 높은 혈압 수치(임계치를 초과하는 수치)를 받은 경우에, 이벤트는 통지를 하고 예약을 요청하기 위해 의원 시스템에 보내질 수 있다. 정보는 또한 사용자에게 높은 혈압 수치, 및 예약 요청이 자신의 의사에게 보내졌다는 것을 통지하기 위해 다시 혈압 모니터에 보내질 수 있 다. 갱신 컴포넌트(212)를 이용함으로써 사용가능한 다수의 유사한 시나리오가 있을 수 있다. 이와 유사하게, 개방 채널은 예를 들어, 장치가 일정한 갱신을 보내는 것이라면, 자동으로 건강 통합 네트워크에 데이터를 제공할 수 있다. 예를 들어, 사용자에 의해 작동된 트레드밀(treadmill)은 세션 동안에 일정한 심박수를 잴 수 있고, 예를 들어 실시간으로, 이 정보 및 운동 루틴에 관한 기타 정보로 건강 통합 네트워크를 갱신하기 위해 채널을 개방할 수 있다. 개방 채널이 요구되지 않고; 오히려 API(200)는 자동으로, 예를 들어 (콜백 유형 함수와 같은) 애플리케이션에 경고 또는 갱신을 통지하도록 요청할 수 있다는 것을 알 수 있을 것이다.
루틴 패키징 컴포넌트(214)는 애플리케이션 개발자가 API(200)를 이용하여 제3자 애플리케이션을 작성하는 것을 돕기 위해 다수의 상이한 기능을 제공할 수 있다. 예를 들어, 루틴 패키징 컴포넌트(214)는 실제로 API(200)와 함께 시작될 필요가 있는 것을 개발자에게 제공하기 위해, 공통으로 이용된 루틴 집합을 단일 호출 내에 함께 묶거나 또는 이들을 패키지 프레젠테이션 내에 제시할 수 있다. 게다가, 루틴은 건강 통합 네트워크와 같은 하위 시스템에서 일반적으로 사용되는 XML 및 관련 스키마를 작성하기 위해 제공되어, 네트워크에 저장될 데이터 유형 및 상이한 레코드와 같은 것들을 작성할 수 있다. 더구나, 인공 지능은 루틴의 패키징, 또는 더욱 사용하기 쉬운 추가 루틴의 작성을 판정하기 위해 이용될 수 있다. 이들 작성된 루틴은 반드시 함께 저장되는 것은 아닌 관련 데이터를 얻기 위한 단일 호출과 같은 다소 향상된 작업을 실행하기 위해 개발자에게 제공된 단일 호출일 수 있고, 예를 들어 GetLastExerciseRoutine은 사용자의 최종 운동 기간 정보뿐만 아니라 이 즈음에 측정된 임의의 심박수를 검색하도록 작성될 수 있다. 언급된 바와 같이, 이들 함수가 종종 함께 호출된다는 결정과, 이 데이터를 함께 원할 수 있는 애플리케이션 개발자에게 데이터 액세스를 더욱 용이하게 하기 위해 데이터를 액세스하는 단일 루틴을 작성한다는 결정이 (예를 들어, 인공 지능을 사용하여) 이루어질 수 있다. 상기 시나리오는 단지 예일 뿐이고, 주제는 이에 제한되지 않는다는 것을 알 수 있을 것이다.
도 3은 애플리케이션(302)으로부터의 데이터 저장, 검색 등의 요청을 해석하기 위한 API(104)의 이용을 용이하게 하는 시스템(300)을 도시한 것이다. API(104)는 애플리케이션(302)으로부터의 요청에 기초하여 건강 통합 네트워크(304)에 문의하고, 건강 통합 네트워크(304)로부터의 응답에 기초하여 애플리케이션(302)에 데이터를 반환한다. 애플리케이션(302)은 컴퓨터 또는 기타 장치상에서 실행되는 소프트웨어 애플리케이션, 장치 자체, 예를 들어 레거시 장치 컨텍스트 내의 애플리케이션 또는 컴퓨터에 결합된 장치 등일 수 있다. 예시적인 장치는 출력이 있는 것들과 같은 임의의 의료 또는 개인 건강 장치(예를 들어, 혈압 모니터, 체중계, 혈/당 레벨 모니터, IV, 맥박 조정기, 청진기, 엑스레이 등), 개인 체력 추적 장치(결합형 심박수 모니터 시계, 보수계(pedometers), 자전거 장비(이를테면, 속도계, 고도계, 주행 거리계 등), 스톱워치 등), 및 개인용 및 의료용 사용자 인터페이스를 포함하는 기타 애플리케이션을 포함한다. 그러므로, 의사는 처방전, 진단 또는 기타 차트로부터 수동으로 환자 특정 정보를 저장할 수 있고, 개인은 식이요법, 운동 처방, 의료 보험 등에 대한 정보를 저장할 수 있다. 데이터는 임의의 유형일 수 있고, 관련된 유형 정의, 데이터의 레이아웃을 설명하는 스키마, 및 데이터가 제시될 수 있는 방법을 설명하는 스타일 파라미터를 가질 수 있다. 애플리케이션(302)은 API(104)에 직접 요청을 하기 위해 이렇게 접속될 수 있지만, 또한 갱신 기능을 이용하여 개방 채널(또는 파이프) 접속으로 접속될 수 있다.
한 예로서, 환자는 보험 및 약국 정보를 입력하기 위해 애플리케이션(302)을 이용할 수 있다. 애플리케이션(302)은 이것을 API(104)에 제출할 수 있고, API(104)는 건강 통합 네트워크 내의 저장을 요청할 수 있다. 그 다음, 환자가 의원에 가면, 접수원은 API(104)를 사용하여 정보를 요청하는 동일한 또는 분리된 애플리케이션(302)을 통해 보험 정보를 검색할 수 있다. API(104)는 건강 통합 네트워크(304)로부터 환자의 보험 정보를 검색해서 API(104)에 전송하고, API(104)는 이것을 애플리케이션(302)에 전송한다. 이것은 접수원이 환자의 보험 카드를 요구할 필요성을 경감시킨다. 그 후, 예약 동안에, 의사는 환자의 의료 처방전을 입력하기 위해 동일하거나 상이한 애플리케이션(302)을 사용할 수 있고; 처방전은 API(104)를 통해 건강 통합 네트워크(304)에 저장된다. 이때, 동일하거나 상이한 애플리케이션(302)을 또한 실행하고 있는 환자의 약국에 경고가 보내져서 처방전의 조제를 요청할 수 있다. 대안적으로, 환자는 약국에 가서 처방전 조제를 요청할 수 있고, 약국은 정보가 건강 통합 네트워크(304)에 저장되어 있으므로 환자로부터 처방전을 얻을 필요가 없다. 약국은 애플리케이션(302)을 사용하여 API(104)를 액세스해서 건강 통합 네트워크(304)로부터 그 환자에 대한 처방전 및 보험 데이터를 검색할 수 있다.
다른 예로서, 애플리케이션(302)은 API(104)에 개인의 혈압을 저장하라고 요청할 수 있는 혈압 모니터와 같은 장치일 수 있는데, 아마도 혈압은 최근 5번의 판독 수치에서 높다고 생각되었을 것이고, 혈압기는 API(104)로부터 경고를 받아서 이 사실을 개인에게 통지할 수 있다. 더욱이, 의원에 있는 애플리케이션(302)은 개인에 대한 이 정보를 API(104)로부터의 경고를 통해 수신하여, 연속적으로 높은 혈압 수치를 의사에게 통지할 수 있고, 의사 또는 아마도 개인 트레이너는 또한, 예를 들어 몇 가지 추가 심혈관 세션을 포함하도록 환자의 운동 계획을 조정할 수 있고 식단에서 소금을 줄이도록 할 수 있다. API(104)는 상기 예에 제한되지 않고, 실제로, 데이터 감사 방법을 또한 포함하여 데이터 및 건강 통합 네트워크(304)에 관한 여러 가지 방법을 실행할 수 있다. 게다가, 애플리케이션(302)은 API(104)로부터 보내진 메시지가 공개 및/또는 개인 키에 의해 암호화되도록 지정할 수 있고, 애플리케이션(302)은 데이터를 암호 해독하기 위한 개인 키를 갖는다. 이러한 방식으로, 개인 정보 및 신빙성을 보장하기 위해 시스템 내에서 통신된 데이터에 더 많은 보안이 제공된다. 더구나, 애플리케이션(302)은 응답이 주어진 기간 내에 수신되지 않을 때 메시지가 만료될 수 있게 하기 위해 메시지에 유지 시간 값을 설정할 수 있다. 이와 관련하여, 애플리케이션(302)은 메시지가 돌아오기를 기다릴 필요가 없고; 오히려 메시지는, 예를 들어 애플리케이션(302)이 다른 곳에서 더 빨리 정보를 찾을 수 있는 경우에 만료될 수 있다.
도 4와 관련하여, 건강 통합 네트워크 내의 정보의 액세스를 용이하게 하는 예시적인 시스템(400)이 도시된다. 애플리케이션(302)은 건강 관련 데이터를 표시 하거나 지정하는 것 중의 적어도 한 가지를 할 수 있다. 애플리케이션(302)은 소프트웨어 애플리케이션, 소프트웨어 애플리케이션을 실행하는 전자 장치, 전자 장치 단독, 소프트웨어 애플리케이션을 실행하는 장치와 접속할 수 있는 레거시 장치 등을 포함하여 다수의 상이한 유형의 애플리케이션일 수 있다는 것을 알 수 있을 것이다. 애플리케이션은 건강 통합 네트워크(304) 내의 데이터를 요청하고 그 네트워크 내에 데이터를 저장하기 위해 API(104)를 이용할 수 있다. API(104)는 유사한 또는 상이한 유형의 다수의 애플리케이션(302)과 동기로 또는 비동기로 통신할 수 있다는 것을 알 수 있을 것이다. API(104)는 또한 요청을 해석하고 처리할 때 활용하기 위해 소프트웨어 계층(402)을 가질 수 있다. 소프트웨어 계층(402)은 도시된 바와 같이 분리될 수 있고, 또는 API(104) 또는 건강 통합 네트워크(304) 내에 통합되거나, 또는 이 둘 다에 통합될 수 있다. 애플리케이션(302)으로부터의 요청을 해석하고 처리할 때, 소프트웨어 계층(402)은 임의의 필요한 데이터를 위해 또는 요청을 이행하는데 필요한 데이터를 저장하기 위해 건강 통합 네트워크(304)를 액세스할 수 있다. 소프트웨어 계층(402)은 또한 건강 통합 네트워크(304)로부터의 데이터를 어셈블하는 것, 데이터와 관련하여 비즈니스 모델 또는 프로세스를 적용하는 것, 데이터를 캐싱하는 것, 및/또는 데이터에 관한/데이터에 변환 또는 추가 정보를 가하는 것과 같이, 데이터에 값 추가를 제공할 수 있다. 중앙 집중 건강 통합 네트워크(304)에 접속하는 다수의 API(104) 및 소프트웨어 계층(402)이 있을 수 있고, 중앙 집중 건강 통합 네트워크(304)는 단일 시스템이거나 다수의 시스템, 플랫폼 등에 걸쳐 분산될 수 있다.
건강 통합 네트워크(304)는 레코드 데이터베이스(404), 디렉토리 데이터베이스(406) 및 사전 데이터베이스(408)를 포함하는 다수의 데이터 저장소를 포함할 수 있다. 게다가, 건강 통합 네트워크(304)는 데이터 관리 및 전송을 용이하게 하기 위해 다수의 다른 시스템을 포함할 수 있다. 더욱이, 데이터베이스들은 각 데이터베이스의 다수의 버전이 그외 다른 API 및 애플리케이션에, 및/또는 데이터베이스의 다른 버전을 위한 백업 소스에 사용 가능하도록 중복적일 수 있다. 게다가, 데이터베이스는 높은 액세스 시스템을 위한 효율적인 액세스를 가능하게 하기 위해 다양한 물리적 데이터 저장소 사이에서 논리적으로 분할될 수 있다. 더구나, 데이터베이스는 XML과 같은 계층 기반형 및/또는 관계 기반형일 수 있다. 레코드 데이터베이스(404)는 고도로 분산될 수 있고, 다수의 사용자를 위한 개인 건강 관련 데이터 레코드를 포함할 수 있다. 레코드들은 상이한 포맷으로 이루어질 수 있고, 일반 데이터, 데이터 및 관련 유형 정보, (예를 들어, XSL 스키마와 같은 관련 스키마를 통한) 자기 설명 데이터, (예를 들어, 스타일시트를 통해) 관련된 템플릿을 갖는 데이터, (변환 명령어를 갖는 데이터, (그림, 엑스레이 등과 같은) 이진 데이터와 같은) 유닛을 갖는 데이터 등과 같은 임의 종류의 데이터(단일 인스턴스, 구조적 또는 비구조적 데이터)를 포함할 수 있다. 더구나, 레코드 데이터베이스(404)는 추적 및 복원 목적을 위해 레코드에 행해진 변경의 감사 내역을 유지할 수 있다. 게다가, 상기 정보의 임의의 데이터 유형 또는 관련 인스턴스는 아래에서 설명되는 사전 데이터베이스(408)와 같은 이종의 데이터베이스 내에 저장될 수 있다. 레코드 데이터베이스(404)는 성능, 논리적인 사용자 그룹화(예를 들어, 동 일 회사, 가족 등의 사용자들)를 포함하는 다수의 요인에 기초하여 분할, 분산 및/또는 세분화될 수 있다.
디렉토리 데이터베이스(406)는 사용자 이름, 인증서, 사용자를 위한 레코드의 존재 등을 포함할 수 있는 사용자 계정 데이터와 같은 정보를 저장할 수 있다. 디렉토리 데이터베이스(406)는 또한 레코드가 속해 있는 사용자, (분산 레코드 데이터베이스(404) 구성에서) 레코드가 유지되는 곳, 레코드를 위한 인증 규칙 등을 포함하여 레코드 자체에 대한 정보를 수용할 수 있다. 예를 들어, 사용자는 배우자가 자신의 체력 관련 데이터로의 액세스를 갖지만 의료 건강 관련 데이터로의 액세스는 갖지 않는다는 것을 지정할 수 있다. 이러한 방식으로, 사용자는 적절한 당사자(이를테면, 배우자, 의사, 보험 회사, 개인 트레이너 등) 또는 애플리케이션/장치(혈압기, 맥박 조정기, 피트니스 시계 등)가 관련 데이터로의 액세스를 가질 수 있게 하면서 자신의 데이터를 보호할 수 있다. 게다가, 디렉토리 데이터베이스(406)는 건강 통합 네트워크(304)와 상호작용하기 위해 애플리케이션(302)의 구성에 관한 데이터를 포함할 수 있고; 애플리케이션(302)은 건강 통합 네트워크(304)에 등록하도록 요구될 수 있으므로, 디렉토리 데이터베이스(406) 내의 애플리케이션 데이터는 등록 정보를 포함한다.
사전 데이터베이스(408)는 API(104) 및 소프트웨어 계층(402)과 같은 엔티티를 요청하고 건강 통합 네트워크(304)에 의해 사용된 어휘 정의에 관한 정보를 유지할 수 있다. 이러한 정의는 데이터 유형 정의, 및 상이한 데이터 유형을 표시하거나 이들을 변환하는 방법에 관한 정보를 포함할 수 있다. 게다가, 사전 데이터 베이스(408)는 레이아웃 및 템플릿 등의 표시를 위한 정보를 유지할 수 있다. 더욱이, 사전 데이터베이스(408)는 표준의 사용 등을 통해 코드를 정의하는 상이한 조회 테이블을 유지할 수 있다. 예를 들어, 사전 데이터베이스(408)는 국가 건강 통계 센터에 의해 배포된 국제 질병 분류 제9 개정판(ICD-9)을 지원할 수 있다. 이들 코드는 상이한 질병 및 진단을 식별하고; 따라서 의사는 이들 코드 중의 하나를 건강 통합 네트워크(304) 내의 사용자 차트에 기록할 수 있고, 사전 데이터베이스(408)는 소프트웨어 계층(404)(또는 API(104))이 이 코드를 사용자에게 더 잘 이해되는 어떤 것으로, 이를테면 의학적인 명칭, 및/또는 진단에 관한 상이한, 그외 다른, 또는 추가적인 정보로 번역할 수 있게 할 수 있다. 사전 데이터베이스(408)는 또한 복수형 및 단축된 형태의 코드(이를테면 ICD-9 코드)와 같은 기타 메타데이터를 검색하기 위해 사용될 수 있다. 사전 데이터베이스(408)는 또한 상이한 측정 단위들 사이의 변환, 이를테면 피트에서 미터로, 화씨에서 섭씨로, 파운드에서 킬로그램으로 등등의 변환을 할 수 있게 하는 정보를 유지할 수 있다.
한 실시예에서, 2개 이상의 애플리케이션일 수 있는 애플리케이션(302)은 예를 들어, 데이터를 요청하거나 저장하거나 변경하기 위해 API(104)에 호출을 할 수 있다. API(104)는 애플리케이션(302)에 의해 이루어진 호출을 처리하기 위해 소프트웨어 계층(402)을 활용한다. 그 다음, 소프트웨어 계층(402)은 원하는 데이터를 찾기 위해 자신의 내부 캐시 또는 건강 통합 네트워크(304)를 조회할 수 있고; 추가로 또는 대안적으로, 소프트웨어 계층(402)은 원하는 데이터를 찾기 위해 하나 또는 다수의 데이터베이스(404, 406 및 408)를 직접 조회할 수 있다. 소프트웨어 계층(402)은 건강 통합 네트워크(304)로부터 모든 데이터가 얻어질 때까지 데이터를 찾기 위해 직렬로 또는 비동기로 조회할 수 있다. 그 다음, 소프트웨어 계층(402)은 다른 데이터를 사용하여 자신이 얻은 데이터의 부분들을 조작처리 해서 애플리케이션(302)에 의해 요구된 결과를 체계적으로 나타내어 그 결과를 API(104)를 통해 애플리케이션(302)에 반환할 수 있다. 예를 들어, 애플리케이션(302)은 API(104)를 호출함으로써 사용자의 혈압 수치를 요청할 수 있고, 그 다음 API(104)는 요구된 수치를 체계적으로 나타내기 위해 소프트웨어 계층(402)과 통신할 수 있다. 소프트웨어 계층(402)은 혈압 수치의 위치를 얻기 위한 디렉토리 데이터베이스(406), 혈압 유형에 대한 스키마, 스타일 및 일반 유형 정보를 얻기 위한 사전 데이터베이스(408) 및 실제 수치를 얻기 위한 레코드 데이터베이스(404)를 건강 통합 네트워크(304)를 통하거나 직접 조회할 수 있다. 스키마를 사용하여, 소프트웨어 계층(402)은 수축기 혈압 및 확장기 혈압(및 아마도 맥박수)을 나타내는 2개의 정수로서 레코드를 해석할 수 있고, 이들 숫자를 API(104)를 통해 애플리케이션(302)에 반환하거나, 또는 숫자에 스타일, 단위 또는 다른 템플릿을 적용하고, 결과가 문자열이든, XML이든, HTML이든, 그림 등등이든지 그 결과를 반환한다. 게다가, 소프트웨어 계층(402)은 원시 데이터를 변환, 스타일 및/또는 스키마 정보와 함께 API(104)를 통해 애플리케이션(302)에 반환하여, 애플리케이션이 이들을 마음대로 적용할 수 있게 할 수 있다. 또한, 소프트웨어 계층(402)은 결과를 장래의 액세스를 위해 캐시 메모리에 저장할 수 있다. 설명된 주제는 상기 예/실시예에 제한되는 것이 아니라, 오히려 이것은 건강 통합 네트워크(304)와 접속하는 API(104)의 다수의 가능한 실시예 중의 하나라는 것을 알 수 있을 것이다.
이제, 도 5를 참조하면, 여기에 개시된 주제의 실시예에 따른 시스템(500)이도시된다. 시스템(500)은 건강 통합 네트워크(304)로부터 데이터를 검색하거나, 저장하거나, 변경하거나 그렇지 않으면 액세스하는 것 중의 최소한 하나에 대한 요청을 하는 애플리케이션(302)을 포함한다. 요청은 XML 포맷으로 요청을 지정하는 HTTP 프로토콜을 사용하여 인터넷(502)을 통해 API(104)에 보내질 수 있다. API는 애플리케이션(302)에 의해 보내진 요청으로부터 요청 파라미터를 구하기 위해 XML 인터프리터(504)를 포함한다. 데이터의 요청은 설명된 바와 같이 XML 형태로 API(104)에 제출될 수 있고, XML 인터프리터(504)는 유효 요청으로 생각되도록 XML이 XML 스키마에 부착될 것을 요구할 수 있다. 요청은, 예를 들어 애플리케이션의 인가/인증 또는 보안 토큰 유형 목적을 위한 서명, (메서드 이름을 포함할 수 있는) 파라미터의 목록, 사람 ID(요청하는 당사자가 정보를 찾는 사용자와 다른 경우, 예를 들어 환자 기록을 액세스하는 의사), 레코드 ID(예를 들어, 레코드가 조작처리되고 있는 경우), 사용자의 인증 토큰, 언어 사양, 국가 사양, 메시지 생성 시간 및 만료 시간, 및/또는 메서드에 의해 요구된 임의의 파라미터와 같은 정보를 지정할 수 있다. 설명된 주제의 실시예에 따라 API에 보내진 샘플 XML 요청은 다음과 같을 수 있다.
Figure 112009017749821-PCT00001
Figure 112009017749821-PCT00002
이 예에서, sig 태그는 요청하는 애플리케이션 인증서의 개인 키와 관련하여 데이터의 암호화에 관한 정보를 포함하고, params 섹션은 요청의 상세를 나타낸다. 특히, method 태그는 메서드 이름, 및 위에서 열거한 다양한 엔트리를 지정한다. 구체적으로, info 섹션은 호출되는 메서드에 의해 요구된 파라미터를 포함한다. 이 경우에, GetThings는 섹션이 2개 이상 있는 경우에 어느 섹션이 반환될 것인지 지정하는 섹션 파라미터뿐만 아니라 검색되고 있는 정보의 유형(체중, 혈압, 약물 등)을 식별하는 유형 id를 요구한다. 적절한 데이터가 요구된다는 것을 보장하기 위해 그외 다른 info 요소가 보충될 수 있고; 따라서 XML API 호출은 건강 통합 네트워크 내에 존재할 수 있는 추가 정보 및 유형을 수용하기 위해 확장 가능하다는 것을 알 수 있을 것이다. 개시된 주제는 HTTP 요청을 통한 XML에 제한되는 것이 아니라, 오히려 이것은 애플리케이션이 API를 통해 건강 통합 네트워크와 통신하는 여러 방법 중의 하나일 뿐이라는 것을 알 수 있을 것이다.
레코드 데이터 요청에 대한 응답은 또한 XML 형태로 될 수 있고, 인터넷(502)을 통해 HTTP를 사용하여 다시 API(104)에서 애플리케이션(302)으로 전송될 수 있다. 이들 응답은 상태 코드(숫자 및 설명), 임의의 결과적으로 생긴 데이터(이 예에서 "싱(thing)"으로 불리고 아래에서 더욱 설명됨)를 단위, 스타일, 스키마 등과 함께 포함할 수 있다. 예를 들어, 여기에서 설명된 주제에 따른 API 호출로부터의 응답은 다음과 같을 수 있다.
Figure 112009017749821-PCT00003
Figure 112009017749821-PCT00004
여기에서 설명된 주제는 상기 요청 및 응답 예에 제한되는 것이 아니라, 오히려 이들은 HTTP 요청/응답 규칙을 통한 XML의 예일 뿐이라는 것을 알 수 있을 것이다. 알 수 있는 바와 같이, SDK 개체 모델 및 XML뿐만 아니라, 아래에 나타낸 다수의 지원 언어(이를테면 .NET, Java 등)와 호환가능한 노출된 소프트웨어 개발 키트(SDK)와 같이 애플리케이션(302)이 API(104)와 통신하는 여러 가지 방식이 있다.
이제, 도 6을 참조하면, 여기에서 설명된 주제의 실시예에 따라 건강 통합 네트워크로부터 데이터를 액세스하는 시스템(600)이 제시된다. 건강 통합 네트워크(304)를 액세스할 수 있는 애플리케이션인 애플리케이션(302)에는 소프트웨어 개발 키트(SDK)(602)가 구비된다. SDK(602)는 애플리케이션이 건강 통합 네트워크(304) 내에 저장된 데이터를 요청하거나, 저장하거나, 변경하거나, 그렇지 않으 면 액세스하기 위한 호출을 할 수 있게 한다. API(104)는 건강 통합 네트워크(304)와의 통신을 용이하게 하기 위해 제공된다.
애플리케이션(302)은 API(104)에 호출을 하기 위해 SDK(602)를 활용할 수 있다. SDK(602)는 API(104)에 의해 포함되는 기능 중의 최소한 일부를 제공하기 위해 구현된다. 예를 들어, 애플리케이션은 건강 통합 네트워크(304) 내의 데이터를 검색하고, 저장하며, 변경하기 위해 단지 SDK(602)와 통신하면 된다. 애플리케이션(302)은 SDK(602)를 초기화할 수 있고, 이때 SDK(602)를 이용할 수 있다. 통상적으로, 일단 초기화되면, 애플리케이션(302)은 아래의 유사 부호(pseudo-code)로 표현된 바와 같이 도트 표기법 형태를 통해 SDK(602) 상에 함수 호출을 할 수 있다.
Figure 112009017749821-PCT00005
상기 유사 부호는 본 주제의 실시예를 SDK와 함께 사용하는 한 예일 뿐이고, 주제는 이에 제한되지 않는다는 것을 알 수 있을 것이다. 애플리케이션(302)이 record.GetThingsByType...과 같이 SDK(602)에 호출을 할 때, SDK(602)는 (건강 통합 네트워크 컴포넌트가 원격 저장되는 경우에) 인터넷(502)을 통해 데이터를 검색하거나, 저장하거나, 변경하기 위해 API(104)에 후속 호출을 하도록 구현된다. SDK(602)는 이 상호작용이 애플리케이션(302)에 끊어짐 없이 나타나게 한다. API(104)에 적절한 요청을 하면, API(104) 및/또는 가능한 소프트웨어 계층은 건강 통합 네트워크(304)로부터 관련 데이터를 요청한다. 요청은 상기 설명된 바와 같 이 하나 이상의 본질적으로 다르게 저장되거나 로컬 저장된 데이터베이스에 대한 하나 이상의 요청을 포함할 수 있다. 일단 관련 정보가 수집되면, API(104) 및/또는 가능한 소프트웨어 계층은 데이터가 인터넷(502)을 통해 다시 SDK(602)에 제출하기 전에 데이터에 변환, 스타일 및/또는 스키마를 적용할 수 있다.
도 5 및 도 6에서, 건강 통합 네트워크(304) 및/또는 API(104)의 액세스는 인터넷 통신에 제한되지 않고, 오히려 컴포넌트들이 동일한 근거리망(LAN)에 위치하는 경우에, LAN 통신이 이용될 수 있을 뿐만 아니라 WAN, WLAN 등도 이용될 수 있다는 것을 알 수 있을 것이다. 2개의 시스템 사이에서 데이터를 통신하는 임의의 모드가 사용될 수 있다. 더구나, 인터넷이나 그외 다른 것을 이용한 임의 종류의 데이터 통신/사양이 또한 사용될 수 있다. 게다가, API(104)는 (상기 샘플 XML로 나타낸 바와 같이) 최소한 하나의 상태 코드와 함께 애플리케이션(302)에서 이루어진 호출로부터 반환할 것이고; 이 코드는 다음의 상태 코드 목록과 같은 어떤 것일 수 있다.
코드 설명 이유
0 OK 성공
1 FAILED 일반적인 실패, 불분명한 원인
2 BAD HTTP HTTP 프로토콜 문제
3 INVALID_XML 요청 XML이 구문 분석되지 않거나 부적합함
4 BAD_SIG 요청에 관한 서명 검증 실패
5 BAD_METHOD 요청된 메서드가 존재하지 않음
6 INVALID_APP 지정된 애플리케이션이 존재하지 않거나, 비활성이거나, 호출하는 IP 어드레스가 무효임
7 TOKEN_EXPIRED 인증 토큰이 만료되었음
8 INVALID_TOKEN 인증 토큰이 변형되거나 그렇지 않으면 파괴됨
9 INVALID_PERSON 사람이 존재하지 않거나 활동하지 않음
10 INVALID_RECORD 지정된 ID를 갖는 레코드가 존재하지 않음
11 ACCESS_DENIED 사람 또는 애플리케이션이 동작을 실행하기에 충분한 권리를 갖지 않음
12 NYI 아직 구현되지 않음
13 INVALID_THING 지정된 ID를 갖는 싱(thing)이 존재하지 않음
14 CANT_CONVERT_UNITS 싱의 값에 대해 지정된 단위가 이 유형의 존재하는 싱들의 단위 유형으로 변환될 수 없음
15 INVALID_FILTER GetThings에 지정된 필터가 누락되거나 무효임
16 INVALID_FORMAT GetThings에 지정된 포맷이 누락되거나 무효임
17 APPACCEPT_MISSING 애플리케이션은 사용자가 애플리케이션 동의를 받도록 요구함
18 INVALID_APPAUTH 애플리케이션이 이 사람에 의해 사용되도록 인가되지 않음
19 INVALID_THING_TYPE 지정된 싱 유형이 존재하지 않음
20 THING_TYPE_IMMUTABLE 싱은 변경 불가능하기 때문에 갱신될 수 없음
21 THING_TYPE_UNCREATABLE 이러한 유형의 싱들은 시스템에 의해서만 작성될 수 있음
22 DUPLICATE_CREDENTIAL_FOUND 지정된 로그온 이름이 이미 존재함
23 INVALID_RECORD_NAME 무효 레코드 이름이 지정되었음
24 DRUG_NOT_FOUND 지정된 약을 찾을 수 없음
25 INVALID_PERSON_STATE 무효 사람 상태가 지정되었음. 유효 사람 상태는 활동(Active), 중지(Suspended) 및 삭제(Deleted)를 포함함
26 INVALID_CODESET 지정된 코드 세트를 찾을 수 없음
27 INVALID_GROUP 지정된 그룹이 존재하지 않거나, 무효이거나, 비활성임
28 INVALID_VALIDATION_TOKEN 지정된 이메일 검증 토큰이 무효임
29 INVALID_ACCOUNT_NAME 사람 계정 이름이 빈 상태(null 또는 empty)로 될 수 없음
30 INVALID_CONTACT_EMAIL 이메일 이름이 빈 상태로 될 수 없음
31 INVALID_LOGIN_NAME 로그인 이름이 빈 상태로 될 수 없음
32 INVALID_PASSWORD 암호가 빈 상태로 될 수 없음
33 INVALID_OPENQUERY 지정된 ID를 갖는 오픈 쿼리를 찾을 수 없음
34 INVALID_TRANSFORM 변환이 로드될 수 없음
35 INVALID_RELATIONSHIP_TYPE 관계 유형이 무효임
36 INVALID_CREDENTIAL_TYPE 자격증명 유형이 뮤효임
37 INVALID_REQUEST_PARAMETERS 요구된 파라미터가 누락되었거나, 금지된 파라미터가 발견되었음
38 APP_AUTH_NOT_REQUIRED 애플리케이션이 애플리케이션 인가를 요구하지 않음
39 VOCABULARY_NOT_FOUND 요청된 어휘 항목(들)을 찾을 수 없음
40 DUPLICATE_AUTHORIZED_ RECORD-FOUND 이것은 애플리케이션의 명령으로 실행된 레코드 인가를 위해 인가 병합이 구현될 때 제거될 단기 상태 코드임. (사용권한, 관계 유형, 프라이머리 여부 등이 서로 다를 수 있지만) 사람이 이미 레코드 인가를 얻었음을 나타냄
도 7과 관련하여, API(700)는 상이한 데이터를 액세스하는 상이한 방법을 제공하는 다양한 루틴 그룹을 포함하는 것으로 도시된다. 레코드 데이터 루틴(702)은 애플리케이션(302)(도 4)이 건강 통합 네트워크(304)(도 4)에 저장된 레코드 데 이터를 요청하거나, 저장하거나, 변경하거나, 그렇지 않으면 액세스할 수 있게 하는 다수의 루틴을 포함한다. 이러한 데이터는 3개의 데이터베이스(404, 406 및 408)(도 4)로부터의 데이터를 포함할 수 있고, 데이터 자체뿐만 아니라 데이터를 설명하는 데이터, 관련된 이진 데이터(이를테면 그림, 엑스레이 등) 등을 포함할 수 있다. 레코드와 관련되고 유형에 의해 정의된 데이터는 여기에서, 예 및 루틴 이름에서, "싱(thing)"이라 칭해질 것이다. 레코드 데이터 루틴(702)은 건강 통합 네트워크에 저장된 건강 레코드로부터 데이터를 조회하기 위해 이렇게 루틴을 포함할 수 있다. 싱들은 구조적 데이터(XML), 이진 데이터(이미지) 등의 형태로 될 수 있고; 이들은 건강 통합 시스템 내의 단일 인스턴스 데이터를 나타낼 수 있고, 통상적으로 유형 및 메타데이터(값에 대한 유형, 측정 단위, 코멘트, 데이터의 발생 시점 등을 가질 수 있음)와 관련된다. 예를 들어, GetThings 루틴은 상기 예에서 나타낸 바와 같이 이 정보를 검색하기 위해 제공될 수 있다. 예를 들어 HTTP를 통해 XML을 사용하여 호출될 수 있는 이 루틴은 호출될 루틴을 지정하고, 데이터 쿼리용 필터를 지정하기 위한 "info" 섹션을 더 포함하는 XML 입력을 필요로 할 수 있고; 필터는 다음 중의 어느 것을 포함할 수 있다.
필터 정의
id 싱 ID의 임의의 번호가 지정될 수 있음. 이 조항은 다른 모든 조항과 OR되고, 필터 요소 밖에서 지정됨.
type-id 단일 싱에 대한 식별자.
eff-date-min 지정된 날짜보다 새로운 유효 날짜를 갖는 싱. 날짜는 UTC 시간으로 되어 있음.
eff-date-max 지정된 날짜보다 오래된 유효 날짜를 갖는 싱. 날짜는 UTC 시간으로 되어 있음.
created-app-id 싱을 작성한 애플리케이션의 ID. 이것은 Guid임.
created-person-id 싱을 작성한 사람의 ID. 이것은 Guid임.
updated-app-id 싱을 마지막으로 갱신한 애플리케이션의 ID. 이것은 Guid임.
updated-person-id 싱을 마지막으로 갱신한 사람의 ID. 이것은 Guid임.
created-date-min 지정된 날짜보다 새로운 작성 날짜를 갖는 싱. 날짜는 UTC 시간으로 되어 있음.
created-date-max 지정된 날짜보다 오래된 작성 날짜를 갖는 싱. 날짜는 UTC 시간으로 되어 있음.
updated-date-min 지정된 날짜보다 새로운 마지막 갱신 날짜를 갖는 싱. 날짜는 UTC 시간으로 되어 있음.
updated-date-max 지정된 날짜보다 오래된 마지막 갱신 날짜를 갖는 싱. 날짜는 UTC 시간으로 되어 있음.
xpath 싱 유형이 구조적 데이터(XML)로 표시되면, XPATH 쿼리는 데이터에 대해 실행되도록 지정될 수 있음. 쿼리는 존재에 대해서만 확인할 수 있음. 쿼리가 그 싱에 대해 참 결과를 생성하면 그것이 반환됨. 이 조항은 이진 사항 유형에 대해 일치하지 않음.
set-id 사용자 정의 집합 내의 모든 사항을 얻음.
게다가, "info" 섹션은 적용될 임의의 변환, 스타일 또는 스키마뿐만 아니라 지정된 필터에 일치하는 싱에 대해 어떤 데이터가 반환될 것인지 더욱 판정하기 위해 하나 이상의 포맷 섹션을 지정할 수 있다. 요청이 API에 보내지고, 소프트웨어 계층이 요청을 처리하고 데이터를 수집할 때, 응답은 다시 요청 엔티티에 보내진다. 응답은 일치하는 싱 결과, 상태 코드 등이 그룹화된, 위에서 나타낸 바와 같은 XML 응답일 수 있다. 응답은 응답의 레이아웃을 정의할 수 있는 XML 스키마에 따르게 되고, 그 XML 스키마와 함께 보내질 수 있으며, 특히 GetThings 루틴 응답은 싱을 위해 정의된 스키마에 따를 수 있는데, 다수의 섹션을 가질 수 있다. API는 요청에서 지정된 섹션을 수집하고; 섹션은 레코드 및 멤버 시스템 집합(싱이 속할 수 있는 하이 레벨 그룹)의 유효 날짜를 정의할 수 있는 핵심 섹션, 장래의 쿼리를 위해 레코드의 작성 및 갱신 정보를 정의할 수 있는 감사 섹션, 싱의 데이터를 나타내는 XML을 포함하는 XML 섹션(유형이 스키마를 정의하면, 데이터는 그 스 키마에 따라야 함), (이미지/엑스레이와 같은) 이진 데이터를 위한 BLOB 섹션, 감사를 위한 설명을 또한 포함할 수 있는 하나 이상의 주석을 정의할 수 있는 주석 섹션, 데이터가 속하는 하나 이상의 사용자 정의 집합을 정의하는 집합 섹션, 및 싱에 대한 상이한 승인 권한의 개요를 나타낸 권한 섹션을 포함한다. 이와 유사하게, 레코드 데이터 루틴(702)은 새로운 싱을 작성하고 및/또는 기존의 싱을 갱신하는 PutThings 루틴을 제공할 수 있다. 요청은 위에서 나타낸 바와 같은 XML 형태로 될 수 있고, 기록하기 위한 싱은 상기 싱 스키마에 따르도록 요구될 수 있다. 이 루틴은 결과 코드, 및 작성된/갱신된 싱의 ID를 반환할 수 있다. 게다가, RemoveThings 루틴은 요청이 GetThings 요청과 유사한 요소를 포함할 수 있는 경우에 싱을 삭제하기 위해 제공될 수 있고; 하지만 지정된 싱은 삭제되고, 반환되지 않는다. 더구나, GetAuthorizedRecords 루틴은 요청 엔티티가 권한을 갖는 공지된 레코드 ID를 조회하기 위해 제공될 수 있다(예를 들어, 요청 엔티티는 데이터가 속해 있는 사용자가 아님). 이 루틴은 스키마에 따라 및/또는 스키마와 함께 레코드를 반환할 수 있다.
API(700)는 또한 건강 통합 네트워크 내의 사용자 및 그룹을 관리하기 위한 계정 루틴 집합(704)을 제공할 수 있다. 예를 들어, QueryPersons 루틴이 제공될 수 있는데, 이 루틴은 요청하는 애플리케이션이, 지정된 필터 기준에 일치하는 사용자들에 대한 감소된 계정 정보 집합을 수집할 수 있게 한다. 이것을 위해, 요청은 요청 스키마에 따르도록 요구될 수 있다. 사용 가능한 필터는 찾는 사람의 이름, ID, 이메일 주소 등을 포함할 수 있고, 이들 요소가 임의의 지정된 인물을 포 함하는지 확인하여 긍정의 결과를 반환할 수 있으며; 결과는 스키마(XML 또는 기타)에 따르도록 요구될 수 있다. 더욱이, GetPersonInfo 루틴은 이름, 이메일 주소, 이메일 주소의 유효성 검사 상태, 애플리케이션 설정, 인가된 레코드 등을 포함하는 요청하는 사용자에 대한 계정 정보를 요청하기 위해 제공될 수 있다. 게다가, 유사한 그룹 루틴은 사용자가 논리 그룹에 속할 수 있게 하기 위해 제공될 수 있다. 그룹은 시스템의 사용자와 유사하게 관리될 수 있다. 그러므로, GetGroups 루틴과 같은 루틴은 예를 들어, 멤버 ID를 포함하는 그룹에 대한 정보를 검색하기 위해 제공될 수 있다. 요청 및 응답은 데이터를 해석하기 위해 XML 스키마에 따르도록 요구될 수 있다.
게다가, API(700)는 API(700) 및 건강 통합 네트워크를 사용하여 애플리케이션의 등록 및 위치를 허용하는 애플리케이션 루틴(706)을 제공할 수 있다. 예를 들어, GetApplication 루틴은 건강 통합 네트워크에 등록된 하나 이상의 애플리케이션에 관한 정보를 수집하기 위해 제공될 수 있고; 지정된 파라미터는 공지된 경우에 애플리케이션의 이름 및/또는 ID를 포함할 수 있다. 루틴은 위치를 찾아낸 하나 이상의 애플리케이션(이름 및 ID)뿐만 아니라, 애플리케이션이 인가 및/또는 승인을 요구하는 지의 여부 등을 반환할 수 있다. 더구나, AddApplication 루틴은 또한 애플리케이션을 건강 통합 네트워크에 등록하기 위해 제공될 수 있다. 요청은 애플리케이션의 ID(인증서를 사용하여 작성됨), 애플리케이션의 이름, 모든 요청을 검증하기 위해 사용된 공개 암호화 키, 레코드 레벨 인가, 루틴 레벨 인가, (XML 형태 또는 기타 형태로 된) 애플리케이션 설정, 애플리케이션을 사용하기 위 해 인가가 요구되는 지의 여부 및 애플리케이션을 사용하기 위해 승인이 요구되는 지의 여부에 대응하는 파라미터를 갖는 XML로 보내질 수 있다. 승인은 최종 사용자 사용권 계약(end-user license agreement: EULA)을 수락하는 것과 같은 단계를 포함할 수 있다. 루틴은 예를 들어, 애플리케이션의 ID 및 상태 코드를 반환할 수 있다.
더욱이, API(700)는 예를 들어, 주어진 싱 및/또는 레코드를 위한 보안을 관리하는 보안 루틴(708)을 포함할 수 있다. 이들 루틴은 주어진 레코드에 대한 인가된 사용자와 관련된 권한을 얻기 위한 GetPermissions 루틴을 포함할 수 있는데, 이 권한은 권한 정보가 요청되고 있는 사용자 ID 및 레코드 ID를 필요로 할 수 있다. 그 다음, 루틴은 사용자 또는 그룹에 관한 레코드 ID와 관련된 규칙 집합, 레코드에 대해 존재할 수 있는 권한, 권한이 적용되는 레코드 내의 싱, 및 권한이 적용될 수 없는 임의의 예외된 싱을 반환할 수 있다. 이와 유사하게, GetAuthorizations 루틴은 소정의 싱으로의 액세스를 갖는 사용자 또는 그룹의 ID를 얻기 위해 제공될 수 있다. 이것을 위해, 싱 ID는 입력으로서 권한 사양과 함께 제공되고, 루틴은 요청된 싱에 대한 액세스 레벨을 갖는 사용자 및/또는 그룹의 목록을 반환한다. 게다가, AddPermissions 및 RemovePermissions 루틴은 새로운 권한을 설정하고, 주어진 레코드에 대한 권한을 삭제하기 위해 제공될 수 있다. 또한, 보안 루틴(708)은 가변적인 권한을 갖는 그룹의 일부이기도 한 사용자에 대한 레코드의 권한 정보를 수집하기 위한 GetEffectivePermissions 루틴을 포함할 수 있다. 이 루틴은 사용자가 그룹 회원 자격에 기인하든 사용자 레벨의 부여된 권한에 기인하든 사용자에게 최상의 권한 정보를 제공하고자 시도할 수 있다. 더 많은 루틴이 또한 제공될 수 있으며, 예를 들어 (네트워크에 참여하는 시스템의 관리 및/또는 그외 다른 유형에 의해) 건강 통합 네트워크 내에서만 이용될 수 있는 루틴이 있을 수 있다. 더구나, 사용자에게 가입 기능을 제공하는 루틴은 예를 들어, 그외 다른 애플리케이션 및 회사를 위해 건강 통합 네트워크에 의해 제공된 서비스에 가입하기 위해 제공될 수 있다. 이들은 또한 시스템 사용을 위한 인센티브, 예를 들어 상이한 애플리케이션 제공자로부터의 프로모션, 서비스 사용을 위한 쿠폰 등을 제공하는 루틴을 포함할 수 있다.
설명된 바와 같이, 앞에서 설명된 예시적인 실시예는 XML 컨텍스트로 언급되지만, 이러한 루틴을 제공하는 다른 방식이 사용될 수 있는데, 예를 들어 SDK는 예를 들어, .NET을 사용하여 노출될 수 있고, HTTP를 통한 XML보다 오히려 도트 표기/파라미터 지정 포맷으로 호출을 해석할 수 있다. 파라미터는 XML 또는 다른 유형의 파라미터일 수 있지만, 송수신된 실질적인 데이터는 앞의 예에서와 같이 HTTP를 통한 XML이 사용되는 경우와 동일하다.
API(700)는 고객 서비스 담당자와 같이 건강 통합 네트워크를 유지 관리할 권한이 부여된 자들에 의해서만 액세스 가능한 관리 루틴 집합(710)을 더 포함할 수 있다. 이들 루틴은 건강 통합 네트워크 내의 임의의 싱 및/또는 레코드에 대해서만 변경할 수 있는 수퍼-사용자 레벨 권한을 부여할 수 있다. 이들 루틴은 위의 것들과 유사하게 구현되거나, 또는 잠재적 해킹 등으로부터 보호하기 위해 분리된 아키텍처 내에 구현될 수 있다.
API(700)는 또한 지능 루틴 집합(712)을 노출할 수 있다. 지능 루틴(712)은 작성되어, API를 사용하여 제3자 애플리케이션을 개발하는 것을 돕도록 특정 애플리케이션 또는 패키지에 맞춰질 수 있다. 예시적인 루틴은 애플리케이션이 이용할 예정인 데이터의 XML 스키마를 개발자가 작성할 수 있도록 도울 수 있다. 이것은 개발자가 새로운 가능한 데이터 값, 유형 및 컨테이너를 빨리 추가할 수 있게 할 수 있다. 이것은 또한 일괄 처리 방식으로 실행될 수 있고, 루틴은 이 정보를 애플리케이션과 관련시킬 수 있다. 이들 루틴은 또한 풍부한 데이터로의 단순한 액세스를 용이하게 하기 위해 API(700)로의 추가 기능으로서 제3자에 의해 작성될 수 있다. 예를 들어, 회사는 루틴 호출 이름 내의 상표명을 사용하여 사유 데이터를 액세스하는 공개 루틴을 노출시켜서, 추가로 금전적 인텐시브를 창출하여, 가치있는 데이터를 노출하는 개발을 촉진할 수 있다. API(700) 및 몇몇 루틴은 멀리 떨어져서 위치할 수 있지만, 그외 다른 것들은 액세스하는 애플리케이션의 근처나 그 위에 또는 그 안에 위치할 수 있다는 것을 알 수 있을 것이다. 실제로, 몇몇 루틴은 더욱 확장된 기능 및 더욱 사용하기 쉽고 더욱 효율적인 루틴을 고려하여 장치로 다운로드 가능하게 될 수 있다. 이들은 패키지로 되거나 개별적으로 다운로드 가능하게 되거나 심지어 자동 갱신으로 될 수 있고, 또한 소프트웨어 개발 키트의 일부일 수 있다.
지능 루틴(712)의 다른 예는 경고 시스템 기능일 수 있는데, 시스템 내의 소정의 이벤트 다음에 및/또는 어떤 임계치가 초과된 경우에, API는 정보에 관계된 적절한 당사자에게 통지할 수 있다. 예를 들어, 혈당 레벨 모니터가 여러 번의 낮 은 판독 수치 또는 한 번의 치명적인 낮은 판독 수치를 수신한 경우에, 판독 수치는 API(700)에 보내지면, 지능 루틴(712)을 트리거하여, 건강 통합 네트워크에 열거된 EMS 및/또는 비상 연락처에 통지할 수 있다. 우리는 오로지 이 기능에만 기초하여 만들어진 장치를 상상할 수 있는데; 아마도 모든 사람이 언제나 착용할 수 있는 자동 맥박 검출기는 낮은 맥박이나 맥박이 뛰지 않음(또는 빠른 맥박)을 검출하고 담당 기관 및/또는 비상 연락처에 통지할 것이다. 게다가, 장치는 GPS(global positioning system)를 기반으로 하거나 GPS와 관련될 수 있고, API(700)는 장치의 GPS 좌표를 얻어서 이 좌표를 경고 시스템/당사자에게 제출하는 능력을 가질 수 있다. 그러므로, 다른 지능 루틴(712)은 GPS 좌표를 주소로 해독할 수 있고, 또한 통지 시스템 또는 사용자의 현재 위치로부터의 방향을 제공할 수 있다. API(700)는 데이터 기능 이외에 이러한 서비스를 제공할 수 있지만, 이에 제한되는 것은 아니라는 것을 알 수 있을 것이다.
더구나, 통신 루틴(714)은 예를 들어, 건강 통합 네트워크 내에서 사용자, 장치, 애플리케이션 및 기타 엔티티에 자동으로 정보를 통신하는 것을 용이하게 하기 위해 제공될 수 있다. 이러한 통신은 네트워크의 내부 및/또는 외부에서 발생할 수 있다. 내부 통신은 이벤트, 경고, 갱신 등을 포함할 수 있고; 예를 들어 방사선 기사는 사용자의 1차 진료 의사의 애플리케이션으로 엑스레이를 보낼 수 있다. 그외 다른 예는 병력 알림과 같은 건강 경보, 처방전 또는 관련 정보의 변경, 예약 리마인더 등을 포함할 수 있다. 외부 통신은 예를 들어, 전자 메일(이메일), 팩스, 인스턴트 메시지 등을 포함할 수 있고; 앞의 예에서, 엑스레이는 1차 진료 의사에게 (예를 들어, 첨부를 통해) 이메일로 전달될 수 있다. 게다가, 동기화 루틴(716)은 설명된 주제에 따른 분산 건강 통합 네트워크들 사이의 통신을 용이하게 하기 위해 제공될 수 있다. 구체적으로, 2개 이상의 건강 통합 네트워크가 존재할 수 있고, 사용자는 이종의 건강 통합 네트워크에 저장된 정보를 원할 수 있으며; 따라서 동기화 루틴(716)은 이 목적을 달성하기 위해 시스템들 사이의 통신을 용이하게 할 수 있다. 다수의 원격 위치한 건강 통합 네트워크를 갖는 것은 세계의 여러 곳에서 효율적인 액세스를 제공하고, 동기화 루틴(716)은 보안 및/또는 개인 정보의 계층을 제공할 수 있다는 것을 알 수 있을 것이다. 게다가, 동기화 루틴(716)은 더 큰 데이터 접근성을 용이하게 하기 위해 다수의 건강 통합 네트워크 내에서 중복성을 제공할 수 있다.
상기 설명된 시스템, 아키텍처 등은 몇 개의 컴포넌트들 사이의 상호작용에 관해 설명되었다. 이러한 시스템 및 컴포넌트는 여기에서 지정된 이들 컴포넌트 또는 서브 컴포넌트, 지정된 컴포넌트 또는 서브 컴포넌트의 일부, 및/또는 추가 컴포넌트를 포함할 수 있다는 것을 알기 바란다. 서브 컴포넌트는 또한 부모 컴포넌트 내에 포함되기보다는 다른 컴포넌트에 통신으로 결합된 컴포넌트로서 구현될 수 있다. 또한, 하나 이상의 컴포넌트 및/또는 서브 컴포넌트는 집합 기능을 제공하기 위해 단일 컴포넌트 내로 결합될 수 있다. 시스템들, 컴포넌트들 및/또는 서브 컴포넌트들 사이의 통신은 푸시 및/또는 풀 모델에 따라 달성될 수 있다. 컴포넌트들은 또한 간단하게 하기 위해 여기에서 구체적으로 설명되지 않았지만 본 분야에 숙련된 기술자들에게 공지되어 있는 하나 이상의 다른 컴포넌트들과 상호작용 할 수 있다.
더욱이, 알게 되는 바와 같이, 개시된 시스템 및 방법의 여러 부분은 인공 지능, 기계 학습, 또는 지식 또는 규칙 기반의 컴포넌트, 서브 컴포넌트, 프로세스, 수단, 방법, 또는 메커니즘(예를 들어, SVM(support vector machines), 신경망, 전문가 시스템, 베이지안 믿음 네트워크, 퍼지 로직, 데이터 융합 엔진, 분류자...)을 포함하거나 이러한 것들로 이루어질 수 있다. 이러한 컴포넌트는 그 중에서 특히, 예를 들어 상황에 맞는 정보에 기초하여 동작을 추론함으로써, 시스템 및 방법의 부분들을 효율적이고 지능적일 뿐만 아니라 더욱 적응적으로 하기 위해, 이에 따라 실행된 소정의 메커니즘 또는 프로세스를 자동화할 수 있다. 예로서, 이러한 메커니즘은 유형화된 뷰의 발생 등과 관련하여 이용될 수 있는데, 이에 제한되는 것은 아니다.
앞에서 설명된 예시적인 시스템을 고려하여, 개시된 주제에 따라 구현될 수 있는 방법은 도 8-9의 순서도와 관련하여 더욱 잘 이해될 것이다. 설명을 간단하게 하기 위해, 방법은 일련의 블록으로 도시되고 설명되지만, 청구된 주제는 몇몇 블록이 여기에 도시되고 설명된 것과 다른 순서로 발생하고 및/또는 다른 블록과 동시에 발생하므로 블록의 순서에 의해 제한되지 않는다는 것을 이해하고 알 수 있을 것이다. 더구나, 도시된 모든 블록이 아래에 설명된 방법을 구현하기 위해 요구되는 것은 아니다.
도 8은 애플리케이션이 API를 통해 건강 통합 네트워크로부터 데이터를 요청하는 방법을 도시한 것이다. 요청은 요청된 데이터 또는 기타 데이터에 대한 임의 의 데이터를 포함하여 건강 통합 네트워크에 존재하는 임의의 데이터에 대한 것일 수 있다. 요청은 임의의 요청/응답 유형 아키텍처뿐만 아니라, HTTP를 통한 XML, SDK, 및/또는 이 둘 다, 또는 이들 아키텍처의 혼합을 포함하는 다수의 아키텍처로 지정될 수 있다. 요청은 요청/응답 유형 및/또는 예약 기반형으로 이루어질 수 있는데, 예약 기반형에서, 데이터 채널은 요청시에 개방 상태로 유지되고, 갱신은 자동으로 채널에 보내져서 요청 애플리케이션에 의해 픽업된다. 후자의 형태는 경고/경보, 자동 갱신, 및 앞에서 설명된 것과 같은 것에 유용할 수 있다. 예를 들어, 극도로 낮은 인슐린 레벨 수치는 인슐린 모니터가 이 정보를 건강 통합 네트워크에 보내게 할 수 있고(이것은 요청/응답임); 그 다음, 건강 통합 네트워크는 개방 채널을 통해 의원의 애플리케이션 및/또는 비상 연락처의 애플리케이션(이를테면, 페이지 및/또는 텍스트 메시지를 보낼 수 있는 애플리케이션)에 사용자의 인슐린 레벨이 낮다는 경고를 보낼 수 있어서, 이 정보를 요청할 필요성을 경감시킨다(이것은 예약 기반 시스템의 예임). 그러나, 이 특정 방법(800)은 요청/응답을 표시하지만, 예약 기반 방법이 또한 설명된 주제에 따라 이용될 수 있다는 것을 알 수 있을 것이다.
참조 번호(802)에서, 애플리케이션은 여기에서 설명된 건강 통합 네트워크의 API로부터 데이터 요청을 시작한다. 애플리케이션은 앞에서 설명된 바와 같이, 먼저 API를 통해 건강 통합 네트워크에 등록하도록 요구될 수 있는데, 이것은 다른 형태의 요청일 수 있다는 것을 알 수 있을 것이다. 더욱이, 요청은 건강 통합 네트워크 내의 데이터를 조회하는 것뿐만 아니라 데이터를 저장하는 것일 수 있다. 또한, 요청하는 애플리케이션은 API와 통신할 능력이 있는 다수의 장치, 애플리케이션 등일 수 있다. 예를 들어, 애플리케이션은 외부의 개인 체력 장치에 의해 수집된 데이터를 저장하고 검색하기 위해 건강 통합 네트워크 API와 접속하도록 적응된 외부의 개인 체력 장치(이를테면, 심박수 모니터 시계)로 통상적으로 동작할 수 있는 제3자 애플리케이션일 수 있다. 게다가, 개인 체력 장치에는 API 자체를 통해 건강 통합 네트워크에 통신하는 기술이 갖추어질 수 있다. 더구나, 요청이 데이터에 대한 것인 경우, 애플리케이션은 쿼리 유형 기능을 위한 필터 및 또한 검색하기 위한 데이터의 섹션을 지정할 수 있다. 예를 들어, 엑스레이 정보를 요청하는 경우, 애플리케이션은 단지 관리 정보를 원할 수 있고(실제로 단지 관리 정보를 수신하는 권리가 부여될 수 있으며); 따라서 요청은 이것을 지정하여, 건강 통합 네트워크로부터의 응답시에 (다른 관련 데이터에 비해 아마 큰 용량인) 엑스레이 이미지를 전송할 필요성을 경감시킬 수 있다.
요청을 한 후에, 애플리케이션은 API로부터 응답이 수신되기를 기다린다(단계(804)). 요청은 애플리케이션에 관해 동기화될 수 있는데, 이것은 애플리케이션이 요청 반환을 기다리는 동안에 실제로 다른 작업을 미룬다는 것을 의미한다. 그러나, 애플리케이션은 또한 비동기 상황에서 요청을 할 수 있으므로, 애플리케이션은 응답을 기다리면서 처리를 계속 할 수 있다. 통상적으로, 이 기능은 콜백 함수, 다수의 생성 스레드 등으로 구현될 수 있다. 게다가, 애플리케이션은 현재의 호출이 반환되기를 기다리면서 API에 다른 호출을 할 수 있다.
참조 번호(806)에서, API 응답이 애플리케이션에 의해 수신된다. 데이터는 예를 들어, 지정된 상태 코드를 갖는 XML 형태로 도달할 수 있다. XML 데이터는 또한 데이터 요청으로부터 결과적으로 생긴 데이터를 포함할 수 있다. 데이터는 변환, 스타일 및/또는 스키마 정보와 함께 일반 형태로 되어 있을 수 있고, 또는 이들이 이미 적용된 문자열로 되어 있을 수 있다. 애플리케이션은 수신 정보를 렌더링하고 및/또는 그 밖에 처리하는 방법을 알고 있으므로, 애플리케이션의 사용자는 정보를 최적하게 볼 수 있고, 참조 번호(808)에서 XML 스키마에 따라 그렇게 할 수 있다.
도 9는 API를 통해 건강 통합 네트워크로부터 데이터를 요청하는 것을 용이하게 하는 방법(900)을 도시한 것이다. 데이터는 네트워크 및/또는 데이터베이스에 걸쳐 분산될 수 있는 건강 통합 네트워크 내에 존재하는 것으로 위에서 설명된 임의의 데이터일 수 있다. 요청은 데이터 단독, 데이터 및 유형 정보, 데이터 및 변형, 스타일 및/또는 스키마 정보 등에 대한 것일 수 있다. 더욱이, 앞에서 설명된 바와 같이, 요청은 임의의 요청/응답 플랫폼뿐만 아니라, HTTP를 통한 XML, SDK 및/또는 이들의 조합을 이용함으로써 이루어질 수 있다.
참조 번호(902)에서, 요청은 데이터에 대해 애플리케이션으로부터 수신된다. 요청은 API, 소프트웨어 계층 및/또는 그 조합에 에 의해 수신될 수 있다. 설명된 바와 같이, 요청은 건강 통합 네트워크에서 사용 가능한 임의의 레코드에 대한 것일 수 있다(그리고 에러가 생길 가능성이 있긴 하지만, 사용 불가능한 레코드에 대한 것일 수 있다). API 및 소프트웨어 계층은 캐싱, 감사 등과 같은, 요청에 따른 추가 처리를 실행할 수 있다. 게다가, 수신하는 엔티티는 건강 통합 네트워크로부 터 데이터를 계속 요청하기 전에 몇몇 인증/인가 루틴을 실행할 수 있다. 대안적으로 또는 추가로, 인증 및/또는 인가는 건강 통합 네트워크에 의해 실행될 수 있다.
참조 번호(904)에서, 관련 정보가 건강 통합 네트워크로부터 검색된다. 이 정보는 요청된 데이터일 수 있고, 및/또는 요청된 데이터에 관한 인가, 체계화, 변환, 양식화 또는 기타 동작 실행을 돕기 위한 추가 데이터일 수 있다. 데이터는 하나의 또는 다수의 로컬 또는 원격 저장된 데이터베이스로부터 얻어질 수 있다. 게다가, 데이터베이스들은 데이터로의 끊어짐 없는 액세스를 제공하기 위해 서로 협력하여 동작할 수 있다. 예를 들어, 마스터 데이터베이스가 제공될 수 있는데, 마스터 데이터베이스는 찾는 정보가 존재하는 곳에 관한 표시기가 있고, 정보를 검색할 수 있다. 그러므로, 한 실시예에서, 정보는 단지 마스터 데이터베이스 또는 그 인터페이스로부터 요청될 필요가 있고, 마스터 데이터베이스는 정보를 찾는 장소를 알고 있고, 그것을 요청기에 반환할 수 있다. 대안적으로, API 및/또는 소프트웨어 계층은 이 저장 정보를 알고 있거나 획득할 수 있다.
요청된 데이터가 적절한 정보와 함께 오면, 참조 번호(906)에서 변환, 스타일 및/또는 스키마가 데이터에 적용된다. 예를 들어, 변환은 킬로그램에서 파운드로의 변환과 같은 미터법에서 US 단위로의 변환 등을 포함할 수 있다. 변환은 또한, 예를 들어 문자열 또는 2개의 정수를 수축기 혈압과 확장기 혈압의 혈압 데이터 구조로 변환하는 것을 포함할 수 있다. 이와 유사하게, 스타일은, 예를 들어 73(인치를 나타내는 정수)으로 저장된 키를 6'1" 형태로 되게 하는 것과 같이 참조 기호 또는 문자를 추가하는 것을 포함할 수 있다. 게다가, 스키마에는 더욱 복잡한 데이터 구조에 대해 데이터 레이아웃을 설명하기 위한 데이터가 보충된다. API 및/또는 소프트웨어 계층은 소정의 관련 데이터를 추출하기 위해 이 스키마를 사용할 수 있고, 또는 데이터의 표현을 만들기 위해 이 스키마를 적용할 수 있다. 예를 들어, 앞의 방법에서와 같이, 애플리케이션이 단지 데이터의 일부, 이를테면 이미지 자체가 아니고 엑스레이에 대한 관리 정보를 원하는 경우에, 스키마는 단지 요청된 관리 데이터를 다시 보내기 위해 적용될 수 있다.
그 다음, 참조 번호(908)에서, 데이터는 요청 애플리케이션으로 반환된다. 반환된 데이터는 데이터 단독, 상기 설명된 변환, 스타일 및/또는 스키마가 적용된 데이터, 또는 이 둘 다일 수 있다. 그러므로, 애플리케이션은 변환, 스타일 및/또는 스키마의 전부나, 그 조합, 또는 그 각각의 일부를 이용함으로써 요청 엔티티의 요구에 부합하도록 데이터를 형성할 수 있다. 데이터에 대한 외부의 변환, 스타일 및/또는 스키마 정보는 또한 따로 요청될 수 있고, 및/또는 나중 사용을 위해 애플리케이션의 로컬 캐시 내에 저장될 수 있다.
여기에서 사용된 바와 같이, "컴포넌트", "시스템" 등의 용어는 컴퓨터 관련 엔티티, 즉 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행중인 소프트웨어를 나타내기 위한 것이다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 프로세스, 프로세서, 개체, 인스턴스, 실행파일, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있는데, 이것에 제한되는 것은 아니다. 실례로서, 컴퓨터상에서 실행되는 애플리케이션, 및 컴퓨터는 컴포넌트일 수 있다. 하나 이상의 컴포넌트 는 프로세스 및/또는 실행 스레드 내에 존재할 수 있고, 하나의 컴포넌트는 하나의 컴퓨터상에 국한될 수 있고 및/또는 2개 이상의 컴퓨터들 사이에서 분산될 수 있다.
"예시적"이라는 단어는 예제, 보기 또는 실례로서 쓰인다는 것을 나타내기 위해 여기에서 사용된다. "예시적"으로 여기에서 설명된 임의의 양상 또는 디자인은 반드시 그외 다른 양상 또는 디자인보다 양호하거나 유리한 것으로 해석될 필요는 없다. 더욱이, 예는 단지 명확하게 하고 이해를 돕기 위해 제공된 것이고, 어떤 방식으로든 본 발명 또는 그 관련 부분을 제한하고자 하는 것이 아니다. 무수한 추가적이거나 대안적인 예가 제공될 수 있지만, 간결하게 하기 위해 생략되었다는 것을 알 수 있을 것이다.
더욱이, 본 발명의 전부 또는 일부는 개시된 발명을 구현하도록 컴퓨터를 제어하기 위한 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합을 생성하기 위해 표준 프로그래밍 및/또는 엔지니어링 기술을 사용하는 방법, 장치 또는 제조품(article of manufacture)으로서 구현될 수 있다. 여기에서 사용된 "제조품"이라는 용어는 임의의 컴퓨터 판독가능 장치 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하고자 하는 것이다. 예를 들어, 컴퓨터 판독가능 매체는 자기 저장 장치(예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립...), 광 디스크(예를 들어, CD(compact disk), DVD(digital versatile disk)...), 스마트 카드, 및 플래시 메모리 장치(예를 들어, 카드, 스틱, 키 드라이브...)를 포함할 수 있지만, 이에 제한되는 것은 아니다. 부수적으로, 반송파는 전자 메일을 송수신할 때 또는 인터넷 또는 LAN(local area network)과 같은 네트워크를 액세스할 때 사용된 것들과 같은 컴퓨터 판독가능 전자 데이터를 전달하기 위해 이용될 수 있다는 것을 알 수 있을 것이다. 물론, 본 분야에 숙련된 기술자들은 청구된 주제의 범위 또는 정신을 벗어나지 않고서 이 구성에 많은 변경이 행해질 수 있다는 것을 인식할 것이다.
개시된 주제의 다양한 실시양상에 대한 설명을 제공하기 위해, 다음 설명뿐만 아니라 도 10 및 11은 개시된 주제의 다양한 실시양상이 구현될 수 있는 적합한 환경의 간단한 일반 설명을 제공하고자 하는 것이다. 주제가 하나 이상의 컴퓨터상에서 실행되는 컴퓨터 프로그램의 컴퓨터 실행가능 명령어와 일반적으로 관련하여 위에서 설명되었지만, 본 분야에 숙련된 기술자들은 본 발명이 또한 기타 프로그램 모듈과 조합하여 구현될 수 있다는 것을 인식할 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하고 및/또는 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조 등을 포함한다. 게다가, 본 분야에 숙련된 기술자들은 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치(예를 들어, 개인 휴대 정보 단말기(PDA), 전화기, 시계...), 마이크로프로세서 기반 또는 프로그램가능 소비자용 또는 산업용 전자제품 등등뿐만 아니라 단일 프로세서, 멀티프로세서 또는 멀티-코어 프로세서 컴퓨터 시스템, 미니 컴퓨팅 장치, 메인프레임 컴퓨터를 포함하는 기타 컴퓨터 시스템 구성으로 본 시스템/방법이 실시될 수 있다는 것을 이해할 것이다. 도시된 실시양상은 또한 통신 네트워크를 통해 연결되는 원격 처리 장치에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 그러나, 청구된 주 제의 모든 실시양상이 독립형 컴퓨터상에서 실시될 수 있는 것이 아닌 경우에 그 일부가 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.
도 10과 관련하여, 여기에 개시된 다양한 실시양상을 구현하는 예시적인 환경(1010)은 컴퓨터(1012)(예를 들어, 데스크톱, 랩톱, 서버, 핸드헬드, 프로그램가능 소비자용 또는 산업용 전자제품...)를 포함한다. 컴퓨터(1012)는 처리 장치(1014), 시스템 메모리(1016) 및 시스템 버스(1018)를 포함한다. 시스템 버스(1018)는 시스템 메모리(1016)를 포함하는(제한되지는 않음) 시스템 컴포넌트들을 처리 장치(1014)에 연결한다. 처리 장치(1014)는 각종 시판중인 마이크로프로세서들 중의 어느 것이라도 될 수 있다. 듀얼 마이크로프로세서, 멀티-코어 및 기타 멀티프로세서 아키텍처가 처리 장치(1014)로서 이용될 수 있다는 것을 알 수 있을 것이다.
시스템 메모리(1016)는 휘발성 및 비휘발성 메모리를 포함한다. 시동 중과 같은 때에, 컴퓨터(1012) 내의 구성요소들 사이의 정보를 전송하는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)은 비휘발성 메모리 내에 저장되어 있다. 예시적으로, 비휘발성 메모리는 판독 전용 메모리(ROM)를 포함할 수 있지만 이에 제한되는 것은 아니다. 휘발성 메모리는 처리를 용이하게 하기 위해 외부 캐시 메모리로서 동작할 수 있는 랜덤 액세스 메모리(RAM)를 포함한다.
컴퓨터(1012)는 또한 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 도 10은, 예를 들어 대용량 저장 장치(1024)를 도시하고 있다. 대용량 저장 장치(1024)는 자기 또는 광 디스크 드라이브, 플로피 디스크 드라이브, 플래시 메모리 또는 메모리 스틱과 같은 장치를 포함하는데, 이에 제한되는 것은 아니다. 또한, 대용량 저장 장치(1024)는 기타 저장 매체와 결합하여 또는 분리하여 저장 매체를 포함할 수 있다.
도 10은 적합한 운영 환경(1010)에서 설명된 기본 컴퓨터 자원들과 사용자들 및/또는 기타 컴퓨터들 사이의 중간자로서 동작하는 소프트웨어 애플리케이션(들)(1028)을 제공한다. 그러한 소프트웨어 애플리케이션(들)(1028)은 시스템과 애플리케이션 소프트웨어 중의 하나 또는 둘 다를 포함한다. 시스템 소프트웨어는 대용량 저장 장치(1024) 상에 저장될 수 있는 운영 체제를 포함하는데, 이 운영 체제는 컴퓨터 시스템(1012)의 자원을 제어하고 할당하는 동작을 한다. 애플리케이션 소프트웨어는 시스템 메모리(1016)와 대용량 저장 장치(1024) 중의 하나 또는 둘 다에 저장된 프로그램 모듈 및 데이터를 통해 시스템 소프트웨어에 의한 자원 관리를 이용한다.
컴퓨터(1012)는 또한 버스(108)에 통신으로 연결되어 컴퓨터(1012)와의 상호작용을 용이하게 하는 하나 이상의 인터페이스 컴포넌트(1026)를 포함한다. 예로서, 인터페이스 컴포넌트(1026)는 포트(예를 들어, 직렬, 병렬, PCMCIA, USB, FireWire...) 또는 인터페이스 카드(예를 들어, 사운드, 비디오, 네트워크...) 등일 수 있다. 인터페이스 컴포넌트(1026)는 (유선 또는 무선으로) 입력을 수신하고 출력을 제공할 수 있다. 예를 들어, 입력은 포인팅 장치, 이를테면 마우스, 트랙볼, 스타일러스, 터치 패드, 키보드, 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너, 카메라, 기타 컴퓨터 등을 포함하는(이에 제한되지는 않음) 장치로부터 수신될 수 있다. 출력 장치는 그 중에서 특히, 디스플레이(예를 들어, CRT, LCD, 플라즈마...), 스피커, 프린터 및 기타 컴퓨터를 포함할 수 있다.
도 11은 본 발명이 상호작용할 수 있는 샘플-컴퓨팅 환경(1100)의 개략적인 블록도이다. 시스템(1100)은 하나 이상의 클라이언트(들)(1110)를 포함한다. 클라이언트(들)(1110)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 시스템(1100)은 또한 하나 이상의 서버(들)(1130)를 포함한다. 그러므로, 시스템(1100)은 기타 모델 중에서 특히, 2 계층(tier) 클라이언트 서버 모델 또는 다중 계층 모델(예를 들어, 클라이언트, 중간 계층 서버, 데이터 서버)에 대응할 수 있다. 서버(들)(1130)는 또한 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 서버(1130)는 예를 들어, 본 발명의 실시양상을 이용함으로써 변환을 실행하기 위한 스레드를 수용할 수 있다. 클라이언트(1110)와 서버(1130) 사이의 한 가지 가능한 통신은 2개 이상의 컴퓨터 프로세스 사이에서 전송된 데이터 패킷의 형태로 될 수 있다.
시스템(1100)은 클라이언트(들)(1110)와 서버(들)(1130) 사이의 통신을 용이하게 하기 위해 이용될 수 있는 통신 프레임워크(1150)를 포함한다. 여기에서, 클라이언트(들)(1110)는 프로그램 애플리케이션 컴포넌트에 대응할 수 있고, 서버(들)(1130)는 앞에서 설명된 바와 같이, 인터페이스 및 선택적으로 저장 시스템의 기능을 제공할 수 있다. 클라이언트(들)(1110)는 클라이언트(들)(1110)에 국한된 정보를 저장하기 위해 이용될 수 있는 하나 이상의 클라이언트 데이터 저장소 (들)(1160)에 동작가능하게 접속된다. 이와 유사하게, 서버(들)(1130)는 서버(1130)에 국한된 정보를 저장하기 위해 이용될 수 있는 하나 이상의 서버 데이터 저장소(들)(1140)에 동작가능하게 접속된다.
예로서, 프로그램 애플리케이션 컴포넌트는 클라이언트(1110)를 통해 하나 이상의 서버(1130)(및 예를 들어, 서버상에 저장되거나 서버로부터 액세스 가능한 API)로부터 개인 건강 정보를 요청할 수 있다. 서버(들)(1130)는 데이터 저장소(1140) 또는 다수의 데이터 저장소로부터 원하는 데이터를 얻을 수 있고, 예를 들어, 변환, 스타일 및/또는 스키마 정보를 적용할 수 있다. 그 후, 그외 다른 프로그램 애플리케이션 컴포넌트는 서버(들)(1130)로부터의 동일하거나 상이한 데이터로의 액세스를 요청할 수 있다.
상기 설명된 것은 청구된 주제의 실시양상의 예를 포함한다. 물론, 청구된 주제를 설명하기 위해 컴포넌트 또는 방법의 가능한 모든 조합을 설명할 수는 없지만, 본 분야에 숙련된 기술자는 개시된 주제의 더 많은 조합과 변경이 가능하다는 것을 인식할 것이다. 따라서, 개시된 주제는 첨부된 청구범위의 정신 및 범위 내에 속하는 그러한 모든 변경, 수정 및 변형을 포함하고자 하는 것이다. 더욱이, 용어 "includes", "has" 또는 "having", 또는 그 변형이 상세한 설명 또는 청구범위에서 사용되는 한도까지, 그러한 용어는 "comprising"이라는 용어가 청구범위에서 전이구(transitional word)로서 이용될 때 해석되는 바와 같이 "comprising"이라는 용어와 유사한 방식으로 포괄적인 의미로 사용하고자 하는 것이다.

Claims (20)

  1. 애플리케이션 프로그램 인터페이스(API)(200)에 있어서,
    다수의 이종 장치 또는 애플리케이션(302)으로부터 건강 관련 데이터에 대한 요청들을 수신하는 수신기 컴포넌트(202);
    상기 요청들을 처리하고, 건강 통합 네트워크(304)로부터 상기 요청된 건강 관련 데이터의 서브세트를 수집하는 인터프리터(interpreter) 컴포넌트(204) - 상기 건강 통합 네트워크는 건강 관련 데이터를 각각 저장하는 다수의 이종 데이터 저장소(404, 406, 408)를 포함함-; 및
    상기 장치들 또는 애플리케이션들(302)에 반환하기 위한 상기 수집된 건강 관련 데이터의 일부를 선택하기 위해 스키마를 이용하는 변환 컴포넌트(208)
    를 포함하는 애플리케이션 프로그램 인터페이스.
  2. 제1항에 있어서, 상기 스키마의 최소한 일부는 상기 건강 관련 데이터에 대한 요청들 내에 지정되는 애플리케이션 프로그램 인터페이스.
  3. 제1항에 있어서, 상기 변환 컴포넌트는 상기 건강 관련 데이터의 선택된 부분의 데이터 유형에 대해 상기 건강 통합 네트워크로부터 스타일 정보를 검색하고, 상기 장치들 또는 애플리케이션들에 반환할 때 상기 건강 관련 데이터의 선택된 부분에 상기 스타일 정보를 적용하는 애플리케이션 프로그램 인터페이스.
  4. 제1항에 있어서, 데이터를 요청하는 애플리케이션이 상기 요청에서 지정된 데이터 액세스의 유형에 대해 충분한 자격증명을 갖는 지의 여부를 판정하는 인가(authorization) 컴포넌트를 더 포함하는 애플리케이션 프로그램 인터페이스.
  5. 제4항에 있어서, 상기 인가 컴포넌트는 상기 애플리케이션을 운영하는 사용자가 상기 요청에서 지정된 데이터 액세스의 유형에 대해 충분한 자격증명을 갖는 지의 여부를 판정하는 애플리케이션 프로그램 인터페이스.
  6. 제1항에 있어서, 이벤트 또는 임계치 초과 중의 최소한 하나의 발생시에 데이터를 접속된 애플리케이션에 보내는 갱신 컴포넌트를 더 포함하는 애플리케이션 프로그램 인터페이스.
  7. 제1항에 있어서, 상기 요청은 HTTP 접속을 통해 XML(Extensible Markup Language) 포맷으로 수신되는 애플리케이션 프로그램 인터페이스.
  8. 제7항에 있어서, 상기 XML 포맷으로 수신된 요청은 최소한 하나의 루틴 호출 및 상기 루틴 호출에 대한 최소한 하나의 파라미터를 지정하는 애플리케이션 프로그램 인터페이스.
  9. 제1항에 있어서, 상기 다수의 데이터 저장소 중의 최소한 하나는 고도로 분산되고, 상기 다수의 데이터 저장소 중의 최소한 하나는 상기 고도로 분산된 데이터 저장소 내에 레코드에 대한 위치 정보를 보유하는 애플리케이션 프로그램 인터페이스.
  10. 제1항에 있어서, 공통 루틴 집합을 결정하고, 애플리케이션에 의해 사용하도록 상기 공통 루틴 집합을 노출하는 루틴 패키징 컴포넌트를 더 포함하는 애플리케이션 프로그램 인터페이스.
  11. 개인 건강 관련 데이터와 상호작용하는 방법에 있어서,
    제1 애플리케이션 또는 장치로부터 건강 관련 데이터 레코드의 일부에 대응하는 요청을 수신하는 단계;
    상기 요청에 기초하여 건강 통합 네트워크로부터 데이터를 요청하는 단계; 및
    상기 데이터의 선택된 부분들을 포함하는 결과를 준비하기 위해 상기 데이터에 스키마를 적용하는 단계
    를 포함하는 개인 건강 관련 데이터와의 상호작용 방법.
  12. 제11항에 있어서, 상기 결과를 상기 제1 애플리케이션 또는 장치에 보내는 단계를 더 포함하는 개인 건강 관련 데이터와의 상호작용 방법.
  13. 제11항에 있어서, 상기 선택된 부분들은 건강 관련 데이터 레코드의 일부에 대한 요청에서 지정되는 개인 건강 관련 데이터와의 상호작용 방법.
  14. 제11항에 있어서, 상기 건강 관련 데이터 레코드의 일부에 대한 이질적인 요청을 제2 장치 또는 애플리케이션으로부터 수신하는 단계를 더 포함하고, 상기 제2 장치 또는 애플리케이션은 상기 제1 장치 또는 애플리케이션과 다른 아키텍처로 운영되는 개인 건강 관련 데이터와의 상호작용 방법.
  15. 제11항에 있어서, 상기 요청은 상기 건강 통합 네트워크 내에 상기 건강 관련 데이터의 일부를 저장하는 것인 개인 건강 관련 데이터와의 상호작용 방법.
  16. 제15항에 있어서, 최소한 부분적으로 상기 요청에 기초하여 제2 장치 또는 애플리케이션에 이벤트를 보내는 단계를 더 포함하는 개인 건강 관련 데이터와의 상호작용 방법.
  17. 제11항에 있어서, 상기 요청은 XML 문서 내에 포함되어 있는 개인 건강 관련 데이터와의 상호작용 방법.
  18. 제17항에 있어서, 상기 XML 문서는 요청된 루틴에 의해 요구된 최소한 하나 의 파라미터를 더 포함하는 개인 건강 관련 데이터와의 상호작용 방법.
  19. 제11항에 있어서, 상기 제1 장치 또는 애플리케이션은 개인 건강 장치인 개인 건강 관련 데이터와의 상호작용 방법.
  20. 건강 관련 데이터를 액세스하는 시스템에 있어서,
    다수의 장치 및 애플리케이션(302)으로부터 개인 건강 관련 데이터에 대한 요청들을 수신하는 수단(202) 및 상기 요청들에 응답하는 수단(210);
    상기 요청들에 관한 저장된 데이터의 서브세트를 얻는 수단(202); 및
    상기 저장된 데이터의 일부 중의 요청된 선택 부분만을 반환하기 위해 상기 저장된 데이터의 서브세트에 최소한 하나의 스키마를 적용하는 수단(208)
    을 포함하는 건강 관련 데이터 액세스 시스템.
KR1020097006055A 2006-11-01 2007-11-01 애플리케이션 프로그램 인터페이스(api), 개인 건강 관련 데이터와 상호작용하는 방법 및 건강 관련 데이터를 액세스하는 시스템 KR20090083331A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US86389706P 2006-11-01 2006-11-01
US60/863,897 2006-11-01
US11/745,902 US8533746B2 (en) 2006-11-01 2007-05-08 Health integration platform API
US11/745,902 2007-05-08

Publications (1)

Publication Number Publication Date
KR20090083331A true KR20090083331A (ko) 2009-08-03

Family

ID=39331943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097006055A KR20090083331A (ko) 2006-11-01 2007-11-01 애플리케이션 프로그램 인터페이스(api), 개인 건강 관련 데이터와 상호작용하는 방법 및 건강 관련 데이터를 액세스하는 시스템

Country Status (7)

Country Link
US (1) US8533746B2 (ko)
EP (1) EP2087462A4 (ko)
JP (1) JP2010508610A (ko)
KR (1) KR20090083331A (ko)
CA (1) CA2661928A1 (ko)
IL (1) IL197425A0 (ko)
WO (1) WO2008057973A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011115315A1 (ko) * 2010-03-17 2011-09-22 (주)넷블루 인지 재활 훈련 프로그램을 위한 시스템 및 그를 이용한 서비스 방법.

Families Citing this family (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104012A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Associating branding information with data
US8417537B2 (en) 2006-11-01 2013-04-09 Microsoft Corporation Extensible and localizable health-related dictionary
US20080103794A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Virtual scenario generator
US8316227B2 (en) * 2006-11-01 2012-11-20 Microsoft Corporation Health integration platform protocol
US20080103818A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Health-related data audit
US8533746B2 (en) 2006-11-01 2013-09-10 Microsoft Corporation Health integration platform API
US20080306956A1 (en) * 2007-06-07 2008-12-11 Quantia Communications Method and system for developing user profile on a network
US8396806B2 (en) * 2007-10-30 2013-03-12 Red Hat, Inc. End user license agreements associated with messages
US9256654B2 (en) * 2007-12-07 2016-02-09 Microsoft Technology Licensing, Llc Dynamic schema content server
CN101616136B (zh) * 2008-06-26 2013-05-01 阿里巴巴集团控股有限公司 一种提供互联网服务的方法及服务集成平台系统
US9613049B2 (en) 2008-09-09 2017-04-04 Applied Systems, Inc. Document integration and distribution system, method and device
US8688744B2 (en) * 2008-09-09 2014-04-01 Applied Systems, Inc. Method, system, and apparatus for scanning and importing documents
EP2189191B1 (en) 2008-11-25 2016-02-24 Fox Factory, Inc. Methods and Apparatus for Virtual Competition
US20100145727A1 (en) * 2008-12-08 2010-06-10 Microsoft Corporation Interaction between healthcare software products
US9250973B2 (en) * 2009-03-12 2016-02-02 Polycore Software, Inc. Apparatus and associated methodology of generating a multi-core communications topology
US8341193B2 (en) * 2010-01-12 2012-12-25 Microsoft Corporation Data versioning through data transformations
US20110301976A1 (en) * 2010-06-03 2011-12-08 International Business Machines Corporation Medical history diagnosis system and method
DE102011107795A1 (de) 2011-07-15 2013-01-17 Fresenius Medical Care Deutschland Gmbh Verfahren und Vorrichtung zur entfernten Überwachung und Steuerung von medizinischen Fluidmanagementgeräten
US20130096939A1 (en) * 2011-10-14 2013-04-18 Sarah L. Russell Methods and Systems for Patient Self-Management
JP5847323B2 (ja) * 2011-11-21 2016-01-20 アルカテル−ルーセント ネットワーク・サービス・プロバイダの動的切り替え
PL2793785T3 (pl) 2011-12-21 2020-04-30 Essity Hygiene And Health Aktiebolag Sposób i program komputerowy do monitorowania stosowania wyrobu chłonnego
US20140025809A1 (en) * 2012-07-19 2014-01-23 Cepheid Remote monitoring of medical devices
BR112015004080B1 (pt) * 2012-08-28 2021-06-15 Essity Hygiene And Health Aktiebolag Método, conjunto de programas de computador e dispositivo móvel usando uma base de dados de compartilhamento cruzado para monitorar o uso de produtos de higiene
JP2014171211A (ja) * 2013-02-06 2014-09-18 Ricoh Co Ltd 情報処理システム
US9805163B1 (en) 2013-03-13 2017-10-31 Wellframe, Inc. Apparatus and method for improving compliance with a therapeutic regimen
CN103271735A (zh) * 2013-06-17 2013-09-04 深圳市兴达实电子有限公司 一种心跳心率检测系统及其应用
CN106104414B (zh) * 2013-11-13 2019-05-21 Twc专利信托公司 存储设备以及存储和提供数据的方法
US20150169392A1 (en) * 2013-11-20 2015-06-18 Superna Incorporated System and method for providing an application programming interface intermediary for hypertext transfer protocol web services
US9619614B2 (en) * 2014-02-03 2017-04-11 Roberto Rodriguez Method, apparatus, and computer-readable medium for integrating and sharing patient-related information via an authenticated application programming interface
US10313410B2 (en) 2014-03-21 2019-06-04 Ptc Inc. Systems and methods using binary dynamic rest messages
US9462085B2 (en) 2014-03-21 2016-10-04 Ptc Inc. Chunk-based communication of binary dynamic rest messages
US9560170B2 (en) * 2014-03-21 2017-01-31 Ptc Inc. System and method of abstracting communication protocol using self-describing messages
US9961058B2 (en) 2014-03-21 2018-05-01 Ptc Inc. System and method of message routing via connection servers in a distributed computing environment
US9762637B2 (en) 2014-03-21 2017-09-12 Ptc Inc. System and method of using binary dynamic rest messages
US20170091412A1 (en) 2014-05-30 2017-03-30 Apple Inc. Systems and Methods for Facilitating Health Research Using a Personal Wearable Device With Multiple Pairing Configurations
US9582642B2 (en) 2014-05-30 2017-02-28 Apple Inc. Managing user information—background processing
US9729583B1 (en) 2016-06-10 2017-08-08 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
KR102412436B1 (ko) * 2014-11-26 2022-06-24 삼성전자주식회사 다른 전자 장치로부터의 데이터 이용을 관리하는 전자 장치 및 그 제어 방법
US10255337B2 (en) * 2015-03-31 2019-04-09 Change Healthcare Holdings, Llc Health care information system and method for transforming health care data with a transformation pipeline
MY189500A (en) * 2015-04-27 2022-02-16 Full Essence Sdn Bhd Tele-health and tele-medical facilitation system and method thereof
US10395008B2 (en) 2015-05-28 2019-08-27 Welch Allyn, Inc. Device connectivity engine
CN104991785A (zh) * 2015-08-03 2015-10-21 江苏优聚思信息技术有限公司 一种标准化临床数据业务支撑系统及方法
US11282041B2 (en) 2015-11-04 2022-03-22 Yips, Llc System and method for scheduling patient appointments
JP2017167659A (ja) 2016-03-14 2017-09-21 株式会社東芝 機械翻訳装置、方法、およびプログラム
EP3223181B1 (en) 2016-03-24 2019-12-18 Sofradim Production System and method of generating a model and simulating an effect on a surgical repair site
US11004125B2 (en) 2016-04-01 2021-05-11 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US11244367B2 (en) 2016-04-01 2022-02-08 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US10706447B2 (en) 2016-04-01 2020-07-07 OneTrust, LLC Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments
US20220164840A1 (en) 2016-04-01 2022-05-26 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
US10776518B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Consent receipt management systems and related methods
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture systems and related methods
US10606916B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10607028B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11087260B2 (en) 2016-06-10 2021-08-10 OneTrust, LLC Data processing systems and methods for customizing privacy training
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11157600B2 (en) 2016-06-10 2021-10-26 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11200341B2 (en) 2016-06-10 2021-12-14 OneTrust, LLC Consent receipt management systems and related methods
US10944725B2 (en) 2016-06-10 2021-03-09 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US11074367B2 (en) 2016-06-10 2021-07-27 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US11410106B2 (en) 2016-06-10 2022-08-09 OneTrust, LLC Privacy management systems and methods
US11210420B2 (en) 2016-06-10 2021-12-28 OneTrust, LLC Data subject access request processing systems and related methods
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US11481710B2 (en) 2016-06-10 2022-10-25 OneTrust, LLC Privacy management systems and methods
US11625502B2 (en) * 2016-06-10 2023-04-11 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11144622B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Privacy management systems and methods
US11146566B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10997318B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US10169609B1 (en) 2016-06-10 2019-01-01 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11277448B2 (en) 2016-06-10 2022-03-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10909265B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Application privacy scanning systems and related methods
US11636171B2 (en) 2016-06-10 2023-04-25 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11222142B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for validating authorization for personal data collection, storage, and processing
US10706379B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for automatic preparation for remediation and related methods
US11222309B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11188862B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Privacy management systems and methods
US10798133B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10878127B2 (en) 2016-06-10 2020-12-29 OneTrust, LLC Data subject access request processing systems and related methods
US11222139B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US10572686B2 (en) 2016-06-10 2020-02-25 OneTrust, LLC Consent receipt management systems and related methods
US11023842B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US10706174B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for prioritizing data subject access requests for fulfillment and related methods
US11418492B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
US11475136B2 (en) 2016-06-10 2022-10-18 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US10592692B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Data processing systems for central consent repository and related methods
US11328092B2 (en) 2016-06-10 2022-05-10 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US10416966B2 (en) 2016-06-10 2019-09-17 OneTrust, LLC Data processing systems for identity validation of data subject access requests and related methods
US10776514B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for the identification and deletion of personal data in computer systems
US10762236B2 (en) 2016-06-10 2020-09-01 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10769301B2 (en) 2016-06-10 2020-09-08 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US11586700B2 (en) 2016-06-10 2023-02-21 OneTrust, LLC Data processing systems and methods for automatically blocking the use of tracking tools
US10896394B2 (en) 2016-06-10 2021-01-19 OneTrust, LLC Privacy management systems and methods
US11301796B2 (en) 2016-06-10 2022-04-12 OneTrust, LLC Data processing systems and methods for customizing privacy training
US11416109B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US10708305B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Automated data processing systems and methods for automatically processing requests for privacy-related information
US10318761B2 (en) 2016-06-10 2019-06-11 OneTrust, LLC Data processing systems and methods for auditing data request compliance
US11403377B2 (en) 2016-06-10 2022-08-02 OneTrust, LLC Privacy management systems and methods
US11295316B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US11366909B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10848523B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10713387B2 (en) 2016-06-10 2020-07-14 OneTrust, LLC Consent conversion optimization systems and related methods
US10565161B2 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for processing data subject access requests
US11520928B2 (en) 2016-06-10 2022-12-06 OneTrust, LLC Data processing systems for generating personal data receipts and related methods
US10740487B2 (en) 2016-06-10 2020-08-11 OneTrust, LLC Data processing systems and methods for populating and maintaining a centralized database of personal data
US11651104B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Consent receipt management systems and related methods
US11341447B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Privacy management systems and methods
US11238390B2 (en) 2016-06-10 2022-02-01 OneTrust, LLC Privacy management systems and methods
US10592648B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Consent receipt management systems and related methods
US11151233B2 (en) 2016-06-10 2021-10-19 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11025675B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US11227247B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US11138242B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US11354435B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US10706176B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data-processing consent refresh, re-prompt, and recapture systems and related methods
US10873606B2 (en) 2016-06-10 2020-12-22 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10997315B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11562097B2 (en) 2016-06-10 2023-01-24 OneTrust, LLC Data processing systems for central consent repository and related methods
US10585968B2 (en) * 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10949170B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US10839102B2 (en) 2016-06-10 2020-11-17 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11294939B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US10706131B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US11416590B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11366786B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing systems for processing data subject access requests
US11416589B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11336697B2 (en) 2016-06-10 2022-05-17 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US10796260B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Privacy management systems and methods
US11438386B2 (en) 2016-06-10 2022-09-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10282700B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10776517B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods
US10565397B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11038925B2 (en) 2016-06-10 2021-06-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11727141B2 (en) 2016-06-10 2023-08-15 OneTrust, LLC Data processing systems and methods for synching privacy-related user consent across multiple computing devices
US11544667B2 (en) 2016-06-10 2023-01-03 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11343284B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US10853501B2 (en) 2016-06-10 2020-12-01 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11416798B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10496846B1 (en) 2016-06-10 2019-12-03 OneTrust, LLC Data processing and communications systems and methods for the efficient implementation of privacy by design
US10467432B2 (en) 2016-06-10 2019-11-05 OneTrust, LLC Data processing systems for use in automatically generating, populating, and submitting data subject access requests
US11461500B2 (en) 2016-06-10 2022-10-04 OneTrust, LLC Data processing systems for cookie compliance testing with website scanning and related methods
US11100444B2 (en) 2016-06-10 2021-08-24 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10503926B2 (en) 2016-06-10 2019-12-10 OneTrust, LLC Consent receipt management systems and related methods
US11651106B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11675929B2 (en) 2016-06-10 2023-06-13 OneTrust, LLC Data processing consent sharing systems and related methods
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
US10510031B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US10803200B2 (en) 2016-06-10 2020-10-13 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US10282559B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US10565236B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10242228B2 (en) 2016-06-10 2019-03-26 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
US10885485B2 (en) 2016-06-10 2021-01-05 OneTrust, LLC Privacy management systems and methods
US11138299B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10783256B2 (en) 2016-06-10 2020-09-22 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US10949565B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10726158B2 (en) 2016-06-10 2020-07-28 OneTrust, LLC Consent receipt management and automated process blocking systems and related methods
US11228620B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11057356B2 (en) 2016-06-10 2021-07-06 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US10013577B1 (en) 2017-06-16 2018-07-03 OneTrust, LLC Data processing systems for identifying whether cookies contain personally identifying information
CN108322451B (zh) * 2018-01-12 2020-09-22 深圳壹账通智能科技有限公司 数据处理方法、装置、计算机设备和存储介质
US10572481B1 (en) * 2018-03-26 2020-02-25 Jeffrey M. Gunther System and method for integrating health information sources
CN108600268B (zh) * 2018-05-09 2020-09-22 聚龙股份有限公司 一种应用于非授信认证的加密解密方法及非授信认证系统
CN108600266B (zh) * 2018-05-09 2020-09-22 聚龙股份有限公司 一种声明过滤认证方法及认证系统
US11144675B2 (en) 2018-09-07 2021-10-12 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US10803202B2 (en) 2018-09-07 2020-10-13 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US11544409B2 (en) 2018-09-07 2023-01-03 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US11107563B2 (en) * 2019-02-01 2021-08-31 Sap Se Fast healthcare interoperability resources model for user interface generation
US10553319B1 (en) * 2019-03-14 2020-02-04 Kpn Innovations, Llc Artificial intelligence systems and methods for vibrant constitutional guidance
CN110086608B (zh) * 2019-03-21 2022-03-25 深圳壹账通智能科技有限公司 用户认证方法、装置、计算机设备及计算机可读存储介质
US11161011B2 (en) * 2019-04-29 2021-11-02 Kpn Innovations, Llc Methods and systems for an artificial intelligence fitness professional support network for vibrant constitutional guidance
US11568351B2 (en) * 2019-06-03 2023-01-31 Kpn Innovations, Llc. Systems and methods for arranging transport of alimentary components
CN111158748B (zh) * 2019-12-16 2024-01-30 北京小米移动软件有限公司 信息获取方法及装置、存储介质
US11797528B2 (en) 2020-07-08 2023-10-24 OneTrust, LLC Systems and methods for targeted data discovery
EP4189569A1 (en) 2020-07-28 2023-06-07 OneTrust LLC Systems and methods for automatically blocking the use of tracking tools
WO2022032072A1 (en) 2020-08-06 2022-02-10 OneTrust, LLC Data processing systems and methods for automatically redacting unstructured data from a data subject access request
WO2022060860A1 (en) 2020-09-15 2022-03-24 OneTrust, LLC Data processing systems and methods for detecting tools for the automatic blocking of consent requests
WO2022061270A1 (en) 2020-09-21 2022-03-24 OneTrust, LLC Data processing systems and methods for automatically detecting target data transfers and target data processing
US11397819B2 (en) 2020-11-06 2022-07-26 OneTrust, LLC Systems and methods for identifying data processing activities based on data discovery results
US11763677B2 (en) 2020-12-02 2023-09-19 International Business Machines Corporation Dynamically identifying a danger zone for a predicted traffic accident
US11231972B1 (en) 2020-12-03 2022-01-25 International Business Machines Corporation Dialog-style application programming interface for a machine learning solution
US11687528B2 (en) 2021-01-25 2023-06-27 OneTrust, LLC Systems and methods for discovery, classification, and indexing of data in a native computing system
US11442906B2 (en) 2021-02-04 2022-09-13 OneTrust, LLC Managing custom attributes for domain objects defined within microservices
EP4288889A1 (en) 2021-02-08 2023-12-13 OneTrust, LLC Data processing systems and methods for anonymizing data samples in classification analysis
WO2022173912A1 (en) 2021-02-10 2022-08-18 OneTrust, LLC Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system
US11775348B2 (en) 2021-02-17 2023-10-03 OneTrust, LLC Managing custom workflows for domain objects defined within microservices
US11546661B2 (en) 2021-02-18 2023-01-03 OneTrust, LLC Selective redaction of media content
WO2022192269A1 (en) 2021-03-08 2022-09-15 OneTrust, LLC Data transfer discovery and analysis systems and related methods
US20220296105A1 (en) * 2021-03-22 2022-09-22 Nicholas D.P. Drakos Photoplethysmography derived blood pressure measurement capability
US11562078B2 (en) 2021-04-16 2023-01-24 OneTrust, LLC Assessing and managing computational risk involved with integrating third party computing functionality within a computing system
US11771977B2 (en) 2021-05-20 2023-10-03 Microsoft Technology Licensing, Llc Computationally customizing instructional content
US11620142B1 (en) 2022-06-03 2023-04-04 OneTrust, LLC Generating and customizing user interfaces for demonstrating functions of interactive user environments

Family Cites Families (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5213555A (en) 1990-02-27 1993-05-25 Hood Robert L Exercise equipment information, communication and display system
US5265010A (en) 1990-05-15 1993-11-23 Hewlett-Packard Company Method and apparatus for performing patient documentation
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
US5690582A (en) 1993-02-02 1997-11-25 Tectrix Fitness Equipment, Inc. Interactive exercise apparatus
US5890995A (en) 1993-02-02 1999-04-06 Tectrix Fitness Equipment, Inc. Interactive exercise apparatus
US5924074A (en) 1996-09-27 1999-07-13 Azron Incorporated Electronic medical records system
JP3162633B2 (ja) 1996-09-27 2001-05-08 松下電器産業株式会社 放送システム及びこれに用いる情報放送受信端末装置
US6002982A (en) 1996-11-01 1999-12-14 Fry; William R. Sports computer with GPS receiver and performance tracking capabilities
US6374237B1 (en) 1996-12-24 2002-04-16 Intel Corporation Data set selection based upon user profile
US5857967A (en) 1997-07-09 1999-01-12 Hewlett-Packard Company Universally accessible healthcare devices with on the fly generation of HTML files
US7031954B1 (en) 1997-09-10 2006-04-18 Google, Inc. Document retrieval system with access control
IL122597A0 (en) 1997-12-14 1998-06-15 Pylon Inc System and method for monitoring activity
US6151624A (en) 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US6692435B1 (en) 1998-02-16 2004-02-17 John I. M. Choate Devices to reduce onset of symptoms of median nerve entrapment, carpal tunnel syndrome, reduce tactile deficit of fingers, and increase identification of mass in breast and other self examinations
US6013007A (en) 1998-03-26 2000-01-11 Liquid Spark, Llc Athlete's GPS-based performance monitor
US6253208B1 (en) 1998-03-31 2001-06-26 British Telecommunications Public Limited Company Information access
US7606355B2 (en) 1998-04-22 2009-10-20 Echarge Corporation Method and apparatus for ordering goods, services and content over an internetwork
US6057758A (en) 1998-05-20 2000-05-02 Hewlett-Packard Company Handheld clinical terminal
US6279001B1 (en) 1998-05-29 2001-08-21 Webspective Software, Inc. Web service
JP3493141B2 (ja) 1998-06-12 2004-02-03 富士通株式会社 ゲートウェイシステムおよび記録媒体
WO2000025466A1 (en) 1998-10-23 2000-05-04 L-3 Communications Corporation Apparatus and methods for managing key material in heterogeneous cryptographic assets
US6373551B2 (en) 1998-12-17 2002-04-16 Eastman Kodak Company System and method for communication of digital images generated from photographic film
US20020007285A1 (en) 1999-06-18 2002-01-17 Rappaport Alain T. Method, apparatus and system for providing targeted information in relation to laboratory and other medical services
US7111172B1 (en) 1999-07-19 2006-09-19 Rsa Security Inc. System and methods for maintaining and distributing personal security devices
US6578068B1 (en) 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6704798B1 (en) 2000-02-08 2004-03-09 Hewlett-Packard Development Company, L.P. Explicit server control of transcoding representation conversion at a proxy or client location
US6763382B1 (en) 2000-03-17 2004-07-13 Sun Microsystems, Inc. Method and apparatus for demand based paging algorithm
US6542902B2 (en) 2000-03-24 2003-04-01 Bridge Medical, Inc. Method and apparatus for displaying medication information
US6834285B1 (en) * 2000-03-24 2004-12-21 Numoda Corporation Computer system for portable digital data capture and data distribution
US20030167456A1 (en) 2000-04-17 2003-09-04 Vinay Sabharwal Architecture for building scalable object oriented web database applications
US8082491B1 (en) * 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US7082427B1 (en) 2000-05-24 2006-07-25 Reachforce, Inc. Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document
US8578266B2 (en) 2000-06-26 2013-11-05 Vertical Computer Systems, Inc. Method and system for providing a framework for processing markup language documents
US6847892B2 (en) 2001-10-29 2005-01-25 Digital Angel Corporation System for localizing and sensing objects and providing alerts
AU7182701A (en) 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
TW577003B (en) 2000-09-29 2004-02-21 Manugistics Inc System, network, storage device, and method for supply chain management, including collaboration
US7487130B2 (en) 2000-11-07 2009-02-03 Grdn. Net Solutions, Llc Consumer-controlled limited and constrained access to a centrally stored information account
US7111059B1 (en) 2000-11-10 2006-09-19 Microsoft Corporation System for gathering and aggregating operational metrics
US20020120472A1 (en) 2000-12-22 2002-08-29 Dvorak Carl D. System and method for integration of health care records
US20020198739A1 (en) 2001-01-05 2002-12-26 Lau Lee Min Matching and mapping clinical data to a standard
US20020129031A1 (en) 2001-01-05 2002-09-12 Lau Lee Min Managing relationships between unique concepts in a database
US20020103811A1 (en) 2001-01-26 2002-08-01 Fankhauser Karl Erich Method and apparatus for locating and exchanging clinical information
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US20030078934A1 (en) 2001-04-23 2003-04-24 David Cappellucci Dynamic content delivery system
US7730528B2 (en) * 2001-06-01 2010-06-01 Symantec Corporation Intelligent secure data manipulation apparatus and method
US8458335B2 (en) 2001-06-18 2013-06-04 Digi International Inc. Method and apparatus for relationship management
US20030035371A1 (en) 2001-07-31 2003-02-20 Coke Reed Means and apparatus for a scaleable congestion free switching system with intelligent control
US20030037054A1 (en) 2001-08-09 2003-02-20 International Business Machines Corporation Method for controlling access to medical information
JP2003087238A (ja) 2001-09-11 2003-03-20 Hitachi Ltd 家庭内ネットワークにおけるセキュリティ実現方式
US7103773B2 (en) 2001-10-26 2006-09-05 Hewlett-Packard Development Company, L.P. Message exchange in an information technology network
US7756728B2 (en) 2001-10-31 2010-07-13 Siemens Medical Solutions Usa, Inc. Healthcare system and user interface for consolidating patient related information from different sources
US7219138B2 (en) * 2002-01-31 2007-05-15 Witness Systems, Inc. Method, apparatus, and system for capturing data exchanged between a server and a user
US7231657B2 (en) 2002-02-14 2007-06-12 American Management Systems, Inc. User authentication system and methods thereof
US7398263B2 (en) * 2002-02-26 2008-07-08 International Business Machines Corporation Sequenced modification of multiple entities based on an abstract data representation
US6996558B2 (en) * 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US8244702B2 (en) * 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
US7567953B2 (en) 2002-03-01 2009-07-28 Business Objects Americas System and method for retrieving and organizing information from disparate computer network information sources
US20030182361A1 (en) 2002-03-22 2003-09-25 Sun Microsystems, Inc. Business-model agnostic service deployment management service
US6902513B1 (en) * 2002-04-02 2005-06-07 Mcclure Daniel R. Interactive fitness equipment
US7317799B2 (en) 2002-07-19 2008-01-08 Vadium Technology, Inc. Cryptographic key distribution using key folding
US7191192B2 (en) 2002-09-30 2007-03-13 International Business Machines Corporation Metadirectory agents having extensible functions
US7607015B2 (en) 2002-10-08 2009-10-20 Koolspan, Inc. Shared network access using different access keys
US20040088374A1 (en) 2002-10-31 2004-05-06 Webb James D. Aggregation and sharing of patient data
US7904720B2 (en) 2002-11-06 2011-03-08 Palo Alto Research Center Incorporated System and method for providing secure resource management
JP2004164052A (ja) 2002-11-11 2004-06-10 Yokogawa Electric Corp 医療情報管理システム
US7292867B2 (en) 2003-01-16 2007-11-06 Bones In Motion, Inc. Location-aware fitness training device, methods, and program products that support real-time interactive communication and automated route generation
US7480512B2 (en) 2004-01-16 2009-01-20 Bones In Motion, Inc. Wireless device, program products and methods of using a wireless device to deliver services
US7729946B2 (en) * 2003-01-24 2010-06-01 Massive Incorporated Online game advertising system
US7734646B2 (en) * 2003-01-29 2010-06-08 International Business Machines Corporation Data model simplification through field fallout
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
US8090590B2 (en) 2003-03-10 2012-01-03 Intuit Inc. Electronic personal health record system
KR100520116B1 (ko) 2003-05-16 2005-10-10 삼성전자주식회사 모바일 애드 혹 상의 암호화를 위한 노드간 키 분배 방법및 이를 이용한 네트워크 장치
US9081863B2 (en) 2005-06-03 2015-07-14 Adobe Systems Incorporated One-click segmentation definition
US7217224B2 (en) 2003-08-14 2007-05-15 Tom Thomas Virtual exercise system and method
US20050228808A1 (en) 2003-08-27 2005-10-13 Ascential Software Corporation Real time data integration services for health care information data integration
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
KR100549504B1 (ko) 2003-10-10 2006-02-03 한국전자통신연구원 서명 암호화를 이용한 웹서비스 보안에서의 soap메시지 생성 및 검증 방법
US7966493B2 (en) 2003-11-18 2011-06-21 Oracle International Corporation Method of and system for determining if an electronic signature is necessary in order to commit a transaction to a database
GB0326895D0 (en) 2003-11-19 2003-12-24 Guaranteed Markets Ltd A transaction management system & method
US7613804B2 (en) 2003-11-25 2009-11-03 Microsoft Corporation Systems and methods for state management of networked systems
JP2005165442A (ja) 2003-11-28 2005-06-23 Hitachi Ltd 医療情報管理システム、医療情報管理方法、および医療情報管理プログラム
US20060155584A1 (en) 2003-12-12 2006-07-13 Abhinav Aggarwal System and Method for Patient Identification, Monitoring, Tracking, and Rescue
US20050138417A1 (en) 2003-12-19 2005-06-23 Mcnerney Shaun C. Trusted network access control system and method
US20050197859A1 (en) 2004-01-16 2005-09-08 Wilson James C. Portable electronic data storage and retreival system for group data
US7349925B2 (en) 2004-01-22 2008-03-25 International Business Machines Corporation Shared scans utilizing query monitor during query execution to improve buffer cache utilization across multi-stream query environments
US20050177749A1 (en) 2004-02-09 2005-08-11 Shlomo Ovadia Method and architecture for security key generation and distribution within optical switched networks
US7695406B2 (en) 2004-03-09 2010-04-13 Waters Rolland M User interactive exercise system
US8000977B2 (en) 2004-03-11 2011-08-16 Healthcare Charities, Inc. System and method to develop health-care information systems
US20050251533A1 (en) 2004-03-16 2005-11-10 Ascential Software Corporation Migrating data integration processes through use of externalized metadata representations
US20050210005A1 (en) 2004-03-18 2005-09-22 Lee Thompson Methods and systems for searching data containing both text and numerical/tabular data formats
US7464386B2 (en) 2004-05-17 2008-12-09 Microsoft Corporation Data controls architecture
US20050273365A1 (en) 2004-06-04 2005-12-08 Agfa Corporation Generalized approach to structured medical reporting
US7490354B2 (en) 2004-06-10 2009-02-10 International Business Machines Corporation Virus detection in a network
US20060004588A1 (en) 2004-06-30 2006-01-05 Mohan Ananda Method and system for obtaining, maintaining and distributing data
US20060020506A1 (en) 2004-07-20 2006-01-26 Brian Axe Adjusting or determining ad count and/or ad branding using factors that affect end user ad quality perception, such as document performance
US7720858B2 (en) 2004-07-22 2010-05-18 International Business Machines Corporation Query conditions-based security
US8313433B2 (en) 2004-08-06 2012-11-20 Medtronic Minimed, Inc. Medical data management system and process
JP2008511934A (ja) 2004-08-31 2008-04-17 インターナショナル・ビジネス・マシーンズ・コーポレーション エンタープライズ・データ統合システムのためのアーキテクチャ
KR20060024560A (ko) * 2004-09-14 2006-03-17 주식회사 케이티 개방병원 및 개방의원 사이의 이벤트 전달 시스템 및 그방법
US20060089123A1 (en) 2004-10-22 2006-04-27 Frank Edward H Use of information on smartcards for authentication and encryption
US7317927B2 (en) 2004-11-05 2008-01-08 Wirelesswerx International, Inc. Method and system to monitor persons utilizing wireless media
US8996486B2 (en) 2004-12-15 2015-03-31 Applied Invention, Llc Data store with lock-free stateless paging capability
US7254516B2 (en) 2004-12-17 2007-08-07 Nike, Inc. Multi-sensor monitoring of athletic performance
US8732209B2 (en) 2004-12-30 2014-05-20 Cerner Innovation, Inc. Computerized system and method for rendering reports in a healthcare environment
US7317907B2 (en) 2005-01-31 2008-01-08 Research In Motion Limited Synchronizing server and device data using device data schema
US7631115B2 (en) 2005-02-04 2009-12-08 Intel Corporation Techniques to manage data transfer utilizing buffer hints included in memory access requests
US7698126B2 (en) 2005-03-08 2010-04-13 Microsoft Corporation Localization matching component
US7363298B2 (en) * 2005-04-01 2008-04-22 Microsoft Corporation Optimized cache efficiency behavior
US7822620B2 (en) 2005-05-03 2010-10-26 Mcafee, Inc. Determining website reputations using automatic testing
WO2006122126A2 (en) 2005-05-09 2006-11-16 Atlas Development Corporation Health-care related database middleware
US7702906B1 (en) 2005-06-30 2010-04-20 Symantec Operating Corporation Securing kernel metadata communication in environments employing distributed software services
US20070015532A1 (en) 2005-07-15 2007-01-18 Tom Deelman Multi-function key for electronic devices
US20070055552A1 (en) 2005-07-27 2007-03-08 St Clair David System and method for health care data integration and management
US20070038528A1 (en) 2005-08-11 2007-02-15 Sitoa Corporation Inventory-less distribution
CA2519001A1 (en) 2005-09-13 2007-03-13 Cognos Incorporated System and method of data agnostic business intelligence query
US20070073829A1 (en) 2005-09-13 2007-03-29 Microsoft Corporation Partitioning data across servers
KR100795929B1 (ko) 2005-09-29 2008-01-21 엔에이치엔(주) 데이터베이스로의 쿼리 전송 방법 및 쿼리 전송 시스템
US20070079332A1 (en) 2005-09-30 2007-04-05 Microsoft Corporation Network branded recorded programs
US8423382B2 (en) 2005-09-30 2013-04-16 International Business Machines Corporation Electronic health record transaction monitoring
US20070083393A1 (en) 2005-10-06 2007-04-12 Michael Howell Portable record in electronic form
US8176004B2 (en) 2005-10-24 2012-05-08 Capsilon Corporation Systems and methods for intelligent paperless document management
GB2431742A (en) 2005-10-27 2007-05-02 Hewlett Packard Development Co A method of retrieving data from a data repository
US7853621B2 (en) 2005-11-23 2010-12-14 Oracle International Corp. Integrating medical data and images in a database management system
US20070143273A1 (en) 2005-12-08 2007-06-21 Knaus William A Search engine with increased performance and specificity
US20070143342A1 (en) 2005-12-21 2007-06-21 Vannostrand S L Destination based extraction of XML clinical data
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US8332430B2 (en) 2006-03-01 2012-12-11 Oracle International Corporation Secure search performance improvement
US20070214015A1 (en) 2006-03-06 2007-09-13 Christian James G Healthcare management
US20070220009A1 (en) 2006-03-15 2007-09-20 Morris Robert P Methods, systems, and computer program products for controlling access to application data
US8845496B2 (en) * 2006-03-29 2014-09-30 Nokia Corporation System and method for gaming
US7962926B2 (en) 2006-04-05 2011-06-14 International Business Machines Corporation Method, system, and program storage device for generating a retry message when a thread in a real-time application is unavailable to process a request to utilize the real-time application
US7733907B2 (en) 2006-04-07 2010-06-08 Microsoft Corporation Combined header processing for network packets
US8736547B2 (en) 2006-04-20 2014-05-27 Hewlett-Packard Development Company, L.P. Method and system for interfacing a digital device with an interactive display surface
US9253151B2 (en) 2006-05-25 2016-02-02 International Business Machines Corporation Managing authentication requests when accessing networks
US20080033736A1 (en) 2006-08-02 2008-02-07 Richard Bulman Method to monetize intellectual property assets
US20080101374A1 (en) 2006-10-27 2008-05-01 Hewlett-Packard Development Company Lp Packet fifo
US8533746B2 (en) 2006-11-01 2013-09-10 Microsoft Corporation Health integration platform API
US20080104012A1 (en) 2006-11-01 2008-05-01 Microsoft Corporation Associating branding information with data
US8417537B2 (en) 2006-11-01 2013-04-09 Microsoft Corporation Extensible and localizable health-related dictionary
US8316227B2 (en) 2006-11-01 2012-11-20 Microsoft Corporation Health integration platform protocol
US20080103794A1 (en) 2006-11-01 2008-05-01 Microsoft Corporation Virtual scenario generator
US20080104104A1 (en) 2006-11-01 2008-05-01 Microsoft Corporation Health integration platform schema
US20080103818A1 (en) 2006-11-01 2008-05-01 Microsoft Corporation Health-related data audit
US20080104617A1 (en) 2006-11-01 2008-05-01 Microsoft Corporation Extensible user interface
US7840346B2 (en) 2006-11-02 2010-11-23 Nokia Corporation Real time performance comparison
US20090013063A1 (en) 2007-07-02 2009-01-08 Mrs. NIRALI SANGHI Method for enabling internet access to information hosted on csd
US7895463B2 (en) 2007-08-28 2011-02-22 Cisco Technology, Inc. Redundant application network appliances using a low latency lossless interconnect link
US8021270B2 (en) 2008-07-03 2011-09-20 D Eredita Michael Online sporting system
EP2189191B1 (en) 2008-11-25 2016-02-24 Fox Factory, Inc. Methods and Apparatus for Virtual Competition

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011115315A1 (ko) * 2010-03-17 2011-09-22 (주)넷블루 인지 재활 훈련 프로그램을 위한 시스템 및 그를 이용한 서비스 방법.

Also Published As

Publication number Publication date
WO2008057973A3 (en) 2008-08-07
JP2010508610A (ja) 2010-03-18
US20080104615A1 (en) 2008-05-01
EP2087462A2 (en) 2009-08-12
IL197425A0 (en) 2009-12-24
US8533746B2 (en) 2013-09-10
EP2087462A4 (en) 2013-05-15
WO2008057973A2 (en) 2008-05-15
CA2661928A1 (en) 2008-05-15

Similar Documents

Publication Publication Date Title
KR20090083331A (ko) 애플리케이션 프로그램 인터페이스(api), 개인 건강 관련 데이터와 상호작용하는 방법 및 건강 관련 데이터를 액세스하는 시스템
Pai et al. Standard electronic health record (EHR) framework for Indian healthcare system
US20080104104A1 (en) Health integration platform schema
US20180241834A1 (en) Healthcare semantic interoperability platform
US20060287890A1 (en) Method and apparatus for organizing and integrating structured and non-structured data across heterogeneous systems
US20150127383A1 (en) Operating system
US20080103830A1 (en) Extensible and localizable health-related dictionary
Van de Velde et al. Clinical information systems: a component-based approach
German et al. An architecture for linking medical decision-support applications to clinical databases and its evaluation
CN101536021A (zh) 健康集成平台api
Bhartiya et al. Challenges and recommendations to healthcare data exchange in an interoperable environment
US8931039B2 (en) Method and system for a document-based knowledge system
Sen et al. An ontology-based approach to designing a NoSQL database for semi-structured and unstructured health data
Perugu et al. Pragmatic Approaches to Interoperability–Surmounting Barriers to Healthcare Data and Information Across Organizations and Political Boundaries
Bhartiya et al. Exploring interoperability approaches and challenges in healthcare data exchange
Kawamoto Integration of knowledge resources into applications to enable clinical decision support: architectural considerations
Koutelakis et al. Application of multiprotocol medical imaging communications and an extended DICOM WADO service in a teleradiology architecture
Rac-Albu et al. Interoperability of Medical Data Through e-Health Service in Romania
Chauhan et al. Interoperable synthetic health data with SyntHIR to enable the development of CDSS tools
Ayaz Cloud Computing Base Electronic Health Record System Architecture for Disabled Children
Osborn et al. A Blockchain Patient-Centric Records Framework for Older Adult Healthcare
Alyami Toward patient-centered personal health records systems to promote evidence-based decision-making and information sharing
Alakraa Development of an Interoperable Exchange, Aggregation and Analysis Platform for Health and Environmental Data
MAITHANI REST API AND DOCUMENTATION USING SWAGGER
Domínguez et al. ROAD2H: Development and evaluation of an open‐source explainable artificial intelligence approach for managing co‐morbidity and clinical guidelines

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid