다음의 설명은 성질상 예시적인 것에 불과하고, 본 개시, 응용, 또는 용도들을 제한하도록 의도된 것이 아니다.
도 1 을 참조하면, 환자의 혈당 (blood glucose; bG) 을 측정하고 볼러스 계산 또는 탄수화물 제안을 구현함에 있어서 이용될 수도 있는 핸드헬드 당뇨병 관리 디바이스 (10) 의 하나의 실시형태의 하이 레벨 도면이 도시되어 있다. 전형적으로, 디바이스 (10) 는, 사용자 유닛 제어 스위치들 (14; 예를 들어, ON/OFF), 터치스크린 디스플레이 (16), 및 bG 테스트 스트립 (20) 이 삽입될 수도 있는 포트 (18) 를 포함할 수도 있는 하우징 (12) 을 포함한다. 디스플레이 (16) 는 다양한 선택들, 사용자가 볼러스 정보를 입력할 수 있도록 하기 위한 선택 (16b), 사용자가 스낵들 또는 식사들에 대한 탄수화물 정보를 입력하는 것을 가능하게 하기 위한 선택 (16c), 및 사용자가 디바이스 (10) 에 의해 판독되는 사용자의 bG 측정에 영향을 줄 수도 있는 건강 이벤트들 (예를 들어, 식사들, 운동, 스트레스의 기간, 월경 사이클과 같은 주기적인 생리적 이벤트들 등) 에 속하는 정보를 입력할 수 있도록 하기 위한 선택 (16d) 의 소프트웨어 구동된 메뉴 (16a) 를 사용자가 액세스할 수 있도록 하기 위한 사용자 선택가능 옵션들을 디스플레이할 수도 있다. 디스플레이 (16) 가 본원에서는 터치스크린 디스플레이로서 설명될 것이지만, 디스플레이의 임의의 다른 적당한 형태가 포함될 수도 있다는 것 (예를 들어, LED 등) 을 인식할 것이다. 터치스크린 디스플레이가 이용되지 않을 경우, 사용자 제어 스위치들 (14) 은 볼러스 계산 또는 탄수화물 제안을 수행하기 위해 필요한 다양한 옵션들 및 입력 표지 (marker) 들을 사용자가 선택할 수 있게 하는 특정 버튼들 또는 제어부들을 포함할 필요가 있을 수도 있다. 상기한 것은 디바이스 (10) 의 하이 레벨 설명이고, 실제로는, 디바이스 (10) 의 유용성 또는 다른 컴포넌트들 및 디바이스들 (예를 들어, 랩톱 컴퓨터들, 투입 펌프들 등) 과의 그 이용을 훨씬 더 증대시키도록 희망될 수도 있으므로, 디바이스가 추가적인 제어부들, 입력 포트들, 출력 포트들 등을 포함할 수도 있다는 것을 인식할 것이다. 따라서, 디바이스 (10) 의 상기 설명은 그 구성 또는 특징들을 결코 제한하는 것으로 해석되지 않아야 한다.
도 2 를 참조하면, 디바이스 (10) 의 하이 레벨 블록도가 도시되어 있다. 디바이스 (10) 는 디바이스 (10) 의 다양한 전자 컴포넌트들에 급전하기 위한 재충전가능한 또는 재충전가능하지 않은 배터리 (21) 를 포함할 수 있다. bG 분석기 (24) 로부터 정보를 수신하는 프로세싱 서브시스템 (22; 예를 들어, 마이크로프로세서 기반 서브시스템) 이 포함된다. bG 분석기 (24) 는 bG 분석기 (24) 가 bG 테스트 스트립 (20) 을 판독하는 것을 허용하기 위하여 하우징 (12) 의 포트 (18) 에 인접하게 위치된다. bG 분석기 (24) 는 판독되고 있는 bG 테스트 스트립 (20) 에 대한 교정 정보를 포함하는 코드 키 (24a) 를 포함할 수 있다. 프로세싱 서브시스템 (22) 은 또한 bG 분석기 (24) 로부터 획득된 bG 테스트 값들 및 사용자를 위한 다른 중요한 건강 관련된 정보를 저장하기 위하여 이용되는 데이터베이스 (26) 와 통신할 수 있다. 특히, 데이터베이스 (26) 는 현재 및 미래의 조언의 영향으로 여전히 활성인 추천된 볼러스 및 탄수화물 조언 이력 레코드들 (이하, "조언 이력 레코드들") 을 저장하기 위한 서브섹션 (26a), 및 약물 (인슐린), 건강, 탄수화물 및 사용자에 속하는 bG 관련 변수들 (예를 들어, 하루의 다양한 시간 세그먼트들에 대한 사용자의 인슐린 감도들) 을 저장하기 위한 섹션 (26b) 을 포함할 수 있다. 데이터베이스 (26) 는 비-휘발성 메모리에 의해 형성될 것이라는 것을 인식할 것이다.
또한, 사용자의 인슐린 감도들과 같은 bG 관련 변수들은 전체 파라미터들로서 저장될 수 있고 조언 이력 레코드들에 있지 않을 수도 있다.
프로세싱 서브시스템 (22) 은 또한, 디스플레이 (16), 사용자 제어 스위치들 (14), 및 디바이스 (10) 를 다른 외부 디바이스들에 인터페이싱하기 위한 하나 이상의 인터페이스들 (28) 과 통신할 수 있다. 프로세싱 서브시스템 (22) 은 또한, 일시적 또는 영구적 저장을 요구하는 임의의 다른 정보뿐만 아니라, 사용자에 의해 입력된 다양한 타입들의 정보 (예를 들어, 식사 및 취침 시간들) 를 저장하기 위한 (RAM 과 같은) 메모리 (30) 와 통신할 수 있다. 그러나, 데이터베이스 (26) 및 메모리 (30) 는 도 2 에서 가상으로 표시된 바와 같이, 희망하는 경우에 단일 메모리 디바이스 (예를 들어, RAM) 에서 구현될 수 있다는 것을 인식할 것이다. 프로세싱 서브시스템 (22) 은 청각 신호들, 촉각 신호들 (예를 들어, 진동 신호), 또는 가능하게는 심지어 디바이스 (10) 상의 조명 광들 (예를 들어, LED 들) 과 같은 시각 신호들로 구성된 경보를 생성하기 위하여 이용되는 경보 생성 서브시스템 (32) 과 통신할 수 있다. 프로세싱 서브시스템 (22) 은 또한, 디바이스 (10) 가 사용자에 대한 당 정보로 계속해서 업데이트되도록 사용자의 신체에 고정된 원격 연속 당 감시 ("continuous glucose monitoring; CGM") 디바이스 (34) 로부터 입력들을 수신할 수 있다. 최종적으로, 프로세싱 서브시스템 (22) 은, 디바이스 (10) 가 볼러스 정보를 인슐린 펌프 (36) 에 통신할 수 있도록 사용자에 의해 착용되는 원격 인슐린 투입 펌프 (36) (이하, "인슐린 펌프 (36)" 라고 지칭됨) 와 통신할 수 있다. "원격" 이란, CGM 디바이스 (34) 및 인슐린 펌프 (36) 가 각각 디바이스 (10) 의 외부에 위치되지만, 이와 다르게 디바이스 (10) 와 여전히 통신하고 있음을 의미한다. 디바이스 (10) 는 유선 또는 무선 접속의 어느 하나를 통해 인슐린 펌프 (36) 와 통신할 수 있다는 것을 인식해야 한다.
디바이스 (10) 는 프로세싱 서브시스템 (22) 에 의해 실행되는, 비-일시적인 머신 판독가능한 코드 (machine readable code), 예를 들어, 볼러스 계산기 소프트웨어 모듈 (22a) (이하, "볼러스 계산기 (22a)" 라고 지칭됨) 을 구현하기 위하여 이용될 수 있다. 볼러스 계산기 (22a) 는 단일 모듈, 또는 프로세싱 서브시스템 (22) 상에서 동시에 실행되는 독립적인 모듈들의 집합으로서 형성될 수 있다. 볼러스 계산기 (22a) 와 관련하여 작동하는 프로세싱 서브시스템 (22) 은 추천된 정정 볼러스, 추천된 식사 볼러스, 추천된 총 볼러스, 또는 적절한 경우에 제안된 탄수화물 양을 생성하기 위하여, 터치스크린 디스플레이 (16) 를 통해 사용자에 의해 적용된 폭넓게 다양한 범위의 사용자 입력들을 수신한다. 제안된 탄수화물 양은 저혈당 bG 테스트 값의 디바이스 (10) 에 의한 검출에 응답하여 제공될 수도 있다. 디바이스 (10) 의 동작들 및 능력들은 다음의 단락에서 상세하게 설명될 것이다. 디바이스 (10) 는, 사용자가 사용자에 속하는 고유의 건강 정보로 디바이스 (10) 를 프로그래밍하는 것을 가능하게 하는 복수의 맞춤가능한 (customizable) 입력들의 구현을 통해 사용자에 대한 이용의 편리성 및 용이함을 현저히 증대시킨다. 더욱 구체적으로, 디바이스 (10) 는, 디바이스 (10) 에 의해 행해진 볼러스 및 탄수화물 계산들에 대해 그렇지 않을 경우에 영향을 가질 수 있는 규칙적으로 발생하고 불규칙적으로 발생하는 건강 이벤트들뿐만 아니라, 디바이스 (10) 가 사용자에게 영향을 주는 고유 건강 조건들을 고려하는 것을 훨씬 더 완전하게 가능하게 하는 건강 정보로, 사용자가 디바이스 (10) 를 프로그래밍할 수 있도록 한다.
예시적인 실시형태에서, 볼러스 계산기 (22a) 는 디바이스 (10) 에 의해 행해진 볼러스 및 탄수화물 계산들 및 볼러스 추천들을 표시하는 조언 이력 레코드들을 생성하도록 구성된다. 볼러스 계산기 (22a) 는 또한 조언 이력 레코드들에서 추천들로부터의 환자의 고수 (adherence) 또는 분산 (variance) 을 표시하는 데이터를 포함하도록 구성될 수도 있다. 일부의 실시형태들에서, 조언 이력 레코드는 조언 이력 레코드의 시간을 정의하는 시간 필드, 테스트 플래그 필드, 조언 이력 레코드에서 정의된 이벤트들의 하나 이상의 타입들을 표시하는 레코드 내용 필드, 및 레코드 내용 필드에서 표시된 이벤트들에 대응하는 값들을 정의하는 하나 이상의 필드들을 포함하는 복수의 필드들을 포함할 수 있다.
예시적인 실시형태에서, 조언 이력 레코드는 시간 필드를 포함한다. 시간 필드는 조언 이력 레코드에 대응하는 시간을 나타낸다. 시간은 조언 이력 레코드의 년, 월, 일, 시간, 및 분을 표시하는 값들을 포함할 수 있다. 시간 필드는 값들의 각각에 대한 복수의 서브필드 (subfield) 들로 분할될 수 있다는 것을 인식해야 한다. 새로운 조언 이력 레코드가 생성될 때, 조언 이력 레코드가 생성되었던 시간은 시간 필드를 파퓰레이트 (populate) 한다.
예시적인 실시형태에서, 테스트 플래그 필드는 하나 이상의 테스트들의 결과들을 표시한다. 테스트 필드는 하나 이상의 테스트들에 대응하는 테스트 플래그들을 포함할 수도 있다. 인식되어야 하는 바와 같이, 테스트 플래그는, 결과가 참 (ture) 일 경우에 1, 그리고 결과가 거짓 (false) 일 경우에 0 으로 설정되는 비트일 수 있다. 테스트 플래그들은 bG 농도 값이 디바이스 (10) 에 의해 디스플레이될 수 있는 값들의 상위 범위 밖에 있는지 여부를 표시하는 HI 테스트 플래그를 포함할 수 있다. HI 값이 1 로 설정될 때, HI 테스트 플래그는 bG 농도 값이 디바이스 (10) 에 의해 디스플레이될 수 있는 bG 농도 값들의 범위를 초과함을 표시한다. 테스트 플래그들은 LO 테스트 플래그를 더 포함할 수 있다. LO 테스트 플래그가 1 로 설정될 때, LO 테스트 플래그는 bG 농도 값이 디바이스 (10) 에 의해 디스플레이될 수 있는 값들의 범위 미만임을 표시한다. 테스트 플래그들은 HYPO 테스트 플래그를 또한 포함할 수 있다. HYPO 테스트 플래그가 1 로 설정될 때, HYPO 테스트 플래그는 환자의 bG 농도 값이 저혈당 상태에 대응하거나 타겟 범위의 하한 미만임을 표시한다. 테스트 필드는 추가적인 테스트 플래그들을 포함할 수도 있음을 인식한다.
언급된 바와 같이, 레코드 내용 필드는 조언 이력 레코드에서 정의된 이벤트들의 하나 이상의 타입들 또는 이벤트들에 관한 그 어떤 조건들이 충족되었음을 표시한다. 이벤트들의 상이한 타입들은 혈당 농도, 환자의 음식 섭취와 연관된 탄수화물 양, 사용자에 의해 선택된 건강 백분율 값, 환자에게 추천되었던 인슐린 양, 인슐린이 환자에게 투여되었다는 확인, 볼러스 추천이 환자에 의해 수용되었다는 확인, 정정 볼러스가 투여되었다는 표시, 및 식사 볼러스가 환자에게 추천되었다는 표시를 포함할 수 있다. 인식되어야 하는 바와 같이, 하나 이상의 이벤트들이 조언 이력 레코드의 레코드 내용 필드에서 표시될 경우, 조언 이력 레코드에서의 대응하는 필드들은 값들로 파퓰레이트된다.
예시적인 실시형태에서, 조언 이력 레코드는 bG 농도 필드를 포함한다. 레코드 내용 필드가 bG 농도 값이 조언 이력 레코드와 연관되었음을 표시할 때, bG 농도 필드는 유효한 값으로 파퓰레이트된다. bG 농도 값은 디바이스 (10) 에 의해 수행된 bG 측정으로부터의 bG 농도 값을 표시하거나, 또는 그렇지 않으면 환자에 의해 제공되었다. bG 농도 값은 mg/dL 또는 mmol/L 로 표현될 수 있다는 것을 인식해야 한다.
예시적인 실시형태에서, 조언 이력 레코드는 탄수화물 양 필드를 포함한다. 레코드 내용 필드가 탄수화물 양 값이 조언 이력 레코드와 연관되었음을 표시할 때, 탄수화물 양 필드는 유효한 값으로 파퓰레이트된다. 탄수화물 양 값은 환자가 최근의 음식 섭취에서 소비하였던 탄수화물들의 양이다. 이하에서 더욱 상세하게 논의되는 바와 같이, 탄수화물 양 값은 "스낵 사이즈 (snack size)" 임계치보다 더 크거나 더 작을 수 있다. 탄수화물 양 값이 "스낵 사이즈" 임계치보다 클 때, 음식 섭취는 스낵이 아니라 식사로 고려된다. 탄수화물 양 값은 디바이스 (10) 의 사용자 인터페이스를 통해 환자에 의해 제공될 수 있고, 그램 (gram) 으로 표현될 수 있다.
예시적인 실시형태에서, 조언 이력 레코드는 건강 백분율 양을 포함한다. 레코드 내용 필드가 하나 이상의 건강 백분율들이 조언 이력 레코드와 연관되었음을 표시할 때, 건강 백분율 양 필드는 유효한 값으로 파퓰레이트된다. 위에서 논의된 바와 같이, 사용자는 상이한 건강 이벤트들, 예를 들어, 식사들, 운동, 스트레스의 기간, 및 월경 사이클과 같은 주기적인 생리적 이벤트들을 입력할 수 있다. 환자 또는 또 다른 사용자는 환자의 bG 농도 (또는 인슐린 필요성) 을 증가시키거나 감소시키는 것에 대해 건강 이벤트가 가지는 효과의 양을 나타내는 백분율들을 제공할 수 있다.
예시적인 실시형태에서, 조언 이력 레코드는 정정 볼러스 (correction bolus) 필드를 포함한다. 레코드 내용 필드가 비-널 (non-null) 정정 볼러스 양이 조언 이력 레코드와 연관되었음을 표시할 때, 정정 볼러스 필드는 유효한 값으로 파퓰레이트된다. 정정 볼러스 양은 bG 농도 값을 감소시키거나 또는 증가시키기 위하여 환자에 의해 선택된 볼러스 양을 표시한다. 네거티브 (negative) 볼러스 양은 환자의 bG 농도가 타겟 bG 값 미만인 시나리오에 대응하고, 포지티브 (positive) 볼러스 양은 환자의 bG 농도가 타겟 bG 값을 초과하는 시나리오에 대응한다. 일부의 실시형태들에서, 사용자가 볼러스 계산기 (22a) 에 의해 제공된 정정 볼러스 추천을 무시 (override) 할 때, 정정 볼러스 필드가 파퓰레이트되는 것에 주목해야 한다.
예시적인 실시형태에서, 조언 이력 레코드는 식사 볼러스 필드를 포함한다. 레코드 내용 필드가 비-널 식사 볼러스 양이 조언 이력 레코드와 연관되었음을 표시할 때, 식사 볼러스 필드는 유효한 값으로 파퓰레이트된다. 식사 볼러스 양은 식사, 예를 들어, 탄수화물 섭취의 효과들을 어느 것이든 오프셋 (offset) 하기 위하여 환자에 의해 선택된 볼러스 양을 표시한다. 일부의 실시형태들에서, 사용자가 볼러스 계산기 (22a) 에 의해 제공된 식사 볼러스 추천을 무시할 때, 식사 볼러스 필드는 파퓰레이트된다.
예시적인 실시형태에서, 조언 이력 레코드는 확인된 정정 볼러스 (confirmed correction bolus) 필드를 포함한다. 레코드 내용 필드가 확인된 인슐린 양 및 비-널 정정 볼러스 양이 조언 이력 레코드와 연관되었음을 표시할 때, 확인된 정정 볼러스 필드는 유효한 값으로 파퓰레이트된다. 확인된 정정 볼러스 양은 환자-저장된 정정 볼러스에 응답하여 인슐린 펌프 (36) 에 의해 환자에게 전달되었던 볼러스 양을 표시한다.
예시적인 실시형태에서, 조언 이력 레코드는 확인된 식사 볼러스 필드를 포함한다. 레코드 내용 필드가 확인된 인슐린 양 및 비-널 식사 볼러스 양이 조언 이력 레코드와 연관되었음을 표시할 때, 확인된 식사 볼러스 필드는 유효한 값으로 파퓰레이트된다. 확인된 식사 볼러스 양은 환자-저장된 식사 볼러스에 응답하여 인슐린 펌프 (36) 에 의해 환자에게 전달되었던 볼러스 양을 표시한다.
조언 이력 레코드는 위에서 설명된 필드들 또는 대안적이거나 추가적인 필드들의 변동들을 포함할 수도 있다는 것을 인식해야 한다. 제공된 조언 이력 레코드의 필드들은 예를 위해서만 제공되며, 제한하도록 의도된 것은 아니다.
일부의 실시형태들에서, 조언 이력 레코드는 조언 이력 레코드에서 정의된 이벤트들과 관련된 하나 이상의 상이한 파라미터 값들을 포함할 수도 있다. 예를 들어, 조언 이력 레코드는 타겟 값, 식사 상승 값, 오프셋 시간, 및 작용 시간 값을 포함할 수도 있다. 타겟 값은 환자의 타겟 bG 레벨이다. 타겟 값은 환자의 bG 레벨들에 대한 상한 및 하한의 함수로서 표현될 수 있다. 식사 상승 값은 탄수화물 섭취의 결과로, 환자의 bG 레벨이 타겟 값에 대해 증가할 수 있는 양이다. 일부의 실시형태들에서는, 식사 상승 값이 시간 및 인슐린의 투여의 함수이어서, 식사 상승은 환자가 인슐린을 투여받은 후의 제 1 사전 결정된 시간의 양, 즉, 오프셋 시간 동안에 일정하게 유지되고, 다음으로, 제 1 사전 결정된 시간의 양 후에 선형적으로 감소한다. 인슐린의 도우즈 (dose) 가 환자의 bG 레벨들에 대해 효과를 가지는 총 시간의 양이 작용 시간이다. 더 이후에 논의되는 바와 같이, 인슐린의 도우즈의 효과의 결과로서의 식사 상승 값이 그래프화될 경우, 결과는 작용 형상 (action shape) 이라고 지칭된다. 일부의 실시형태들에서는, 작용 형상이 사다리꼴이어서, 오프셋 시간은 더 짧은 밑변 (base) 을 정의하고, 작용 시간은 더 긴 밑변을 정의한다. 조언 이력 레코드에 포함될 수도 있는 다른 파라미터들은 탄수화물 비율 (carb ratio) 값, 인슐린 감도 값, 및 스낵 사이즈 값을 포함할 수도 있다. 파라미터 값들은 환자 또는 환자의 치료하는 의사와 같은 사용자에 의해 제공될 수도 있다. 파라미터 값들은 디바이스 (10) 의 터치 디스플레이 (16) 를 통해 업로드 또는 제공될 수 있다. 파라미터 값들은 환자에 대한 볼러스 추천들을 결정하기 위하여 볼러스 계산기 (22a) 에 의해 사용된다.
도 3a 를 참조하면, 플로우차트 (100) 는 사용자가 디바이스 (10) 를 사용자의 요건들에 맞추기 위해 필요한 다양한 입력들을 구성하기 위해 수행할 수 있는 예시적인 예비 구성 절차를 예시한다. 동작 (102) 에서, 사용자는 특정된 인슐린과 연관된 "작용 시간" 및 "오프셋 시간" 뿐만 아니라, 그녀/그가 이용하고 있는 인슐린 타입을 정의할 수 있다. 사용자는 또한 동작 (104) 에서 스낵 사이즈를 설정한다. 사용자가 디바이스 (10) 에 입력하는 스낵 사이즈보다 더 큰 임의의 탄수화물 양은, 양이 사용자 정의된 스낵 사이즈를 초과할 경우에 디바이스 (10) 에 의해 "식사" 로서 고려될 것이다. 식사 상승 당 진폭 (bG 단위들로 표현됨) 은 또한 동작 (105) 에서 사용자에 의해 정의된다. 동작 (106) 에서는, 사용자가 24 시간 주기에 대한 다양한 시간 블록들을 정의할 수 있다. 하나의 예시적인 구현예에서, 사용자는 24 시간 주기 동안에 8 개에 이르는 인접 또는 비-인접 시간 블록들을 정의할 수도 있다. 그러나, 더 크거나 더 작은 수의 시간 블록들이 제공될 수 있다는 것을 인식할 것이다. 사용자의 인슐린 감도가 하루 동안을 통해 변동하는 것으로 가정될 것이므로, 동작 (108) 에서 표시된 바와 같이, 사용자는 각각의 시간 블록에 대해 상이한 인슐린 감도 값을 설정할 수 있다. 동작 (110) 에서, 사용자는 각각의 시간 블록에 대해 탄수화물 비율 ("탄수화물 비율") 역시 설정할 수 있는데, 이 비율은 하루 동안 내내 상이한 사용자들에 대해 변동되는 것으로 가정될 수 있기 때문이다. 동작 (112) 에서, 사용자는 각각의 시간 블록에 대해 bG 타겟 범위를 설정할 수 있는데, 이 범위는 또한 하루 동안을 통해 약간 변동하는 것으로 생각되기 때문이다. bG 타겟 범위는, bG 타겟 범위의 상위 및 하위 경계들을 각각 정의하는 상위 타겟 bG 값 및 하위 타겟 bG 값으로 이루어진다. 또한, 프로세싱 서브시스템 (22) 은 이전에 취해진 정정 볼러스의 작용 형상을 고려하도록 동작하고, 여기서, 작용 형상은 이전에 취해진 정정 볼러스와 연관된 인슐린의 작용 시간 및 오프셋 시간뿐만 아니라, 이전에 취해진 정정 볼러스의 bG 하강 포텐셜에 의해 정의된다는 것이 인식될 것이다. 작용 형상은 새로운 볼러스 추천을 생성할 때에 프로세싱 서브시스템 (22) 에 의해 고려되고, 이하에서 더욱 상세하게 논의될 것이다.
동작 (114) 에서, 사용자는 터치스크린 디스플레이 (16) 를 이용하여 n 개에 이르는 상이한 건강 이벤트들의 각각의 하나에 라벨을 붙이고, 각각의 라벨 붙여진 건강 이벤트에 대한 백분율 bG 조절을 할당한다. 사용자가 미리 알고 있는 복수의 사용자 정의된 건강 이벤트들의 각각에 대한 이 다양한 백분율 조절들이 그의/그녀의 bG 테스트 값들에 영향을 줄 것이라고 사용자가 프로그래밍할 수 있는 것은 디바이스 (10) 의 가치있는 특징이다. 예를 들어, 사용자는 "운동", "질환", "스트레스" 와 같은 건강 이벤트들, 또는 심지어 월경 사이클과 같은 순환하는 조건들에 대한 상이한 bG 백분율 조절 값들로 디바이스를 프로그래밍할 수도 있다. 각각의 사용자 정의된 건강 이벤트에 대해 사용자에 의해 선택된 정밀한 백분율들은 사용자의 과거 이력 및 경험에 기초할 수 있거나, 사용자가 그의/그녀의 혈당 레벨들을 관리하는 것을 돕고 있는 건강 관리 전문가의 조언에 적어도 부분적으로 기초할 수 있다. 하나의 예로서, 사용자가 경험으로부터, 식사 바로 후에 수행된 운동 이벤트가 약 20 % 만큼 필요한 식사 볼러스를 감소시킬 것이라는 것을 알고 있을 경우, 사용자는 디스플레이 (16) 상의 디스플레이된 필드에서 "-20" 을 입력할 수도 있다. 그 다음으로, 프로세싱 서브시스템 (22) 은 운동 이벤트가 선택되었을 때에 식사 볼러스 및 정정 볼러스를 계산함에 있어서 이 20 % 감소를 이용할 것이다. 이 특징들은 다음의 단락들에서 더욱 상세하게 정의될 것이다.
도 3b 내지 도 3f 를 참조하면, 정보의 다양한 형태들이 디바이스 (10) 의 디스플레이 (16) 상에서 사용자에게 어떻게 디스플레이될 수 있는지에 대한 예시들이 제시된다. 도 3b 는 사용자가 그녀/그가 방금 획득되었던 bG 테스트 값을 포함하는 레코드에 특정 건강 이벤트를 할당하도록 선택하였을 때, 디스플레이 (16) 에서 디스플레이될 수도 있는 다수의 "건강 리스트 항목" 박스들을 제시하는 스크린 (150) 을 도시한다. 도 3c 는 이 정보가 디스플레이 (16) 상에 어떻게 나타날 수 있는지를 예시하는 스크린 디스플레이 (150a) 를 도시한다. 사용자는 사용자 프로그래밍된 특정 건강 이벤트를 갖는 방금 획득된 bG 테스트 값을 표기할 도 3c 에서의 박스들 (152) 중의 하나를 선택할 수 있고, 이에 따라, 사용자 프로그래밍된 백분율 조절을 방금 획득된 bG 테스트 값에 적용할 수 있다. 사용자가 단일 bG 테스트 값에 대한 2 개 이상의 건강 이벤트들을 선택할 경우, 디바이스 (10) 는 사용자가 방금 획득된 bG 테스트 값에 적용될 "맞춤형" 건강 이벤트 백분율을 선택하는 것을 강제하는 상이한 스크린을 디스플레이할 수 있다. 이러한 스크린 레이아웃 (154) 은 도 3d 에 도시되어 있다. 스크린 레이아웃 (154) 에 대응하는 실제의 예시적인 스크린 디스플레이 (156) 는 도 3e 에 도시되어 있다. 도 3e 에서의 "건강" 필드 (158) 는 사용자가 도 3c 의 스크린 디스플레이 (150a) 의 박스들 (152) 에서 체크 오프한 모든 건강 이벤트들을 디스플레이한다. 필드 (160) 에서, 사용자는 화살표들 (162a 및 162b) 의 존재에 의해 표시된 바와 같이 맞춤형 건강 백분율 조절을 입력 및/또는 조절할 수 있다. 화살표들 (164a 및 164b) 이 또한 디스플레이될 수도 있고, 이것은 사용자가 제안된 볼러스를 증가 또는 감소시키는 것을 가능하게 하기 위해 이용된다. 사용자 제어부 (166) 는 사용자가 건강 이벤트 조절을 취소하는 것을 가능하게 하고, 제어부 (168) 는 사용자가 필드 (160) 에서의 맞춤형 건강 백분율의 선택을 확인 (즉, 적용) 하는 것을 가능하게 한다. 도 3f 는 정보의 다양한 항목들 (예를 들어, 결과 bG 테스트 값; 탄수화물 정보, 건강 조절 백분율; 정정 볼러스; 식사 볼러스; 및 추천된 볼러스의 총 단위들) 이 디스플레이 (16) 상에서 사용자에게 어떻게 디스플레이될 수 있는지를 예시한다.
이제 도 4a 및 도 4b 를 참조하면, 사용자에 의해 디바이스 (10) 로 프로그래밍된 구성을 고려하는 사용자에 대한 총 볼러스 추천을 결정함에 있어서 디바이스 (10) 에 의해 수행될 수 있는 예시적인 동작들의 플로우차트 (200) 가 도시되어 있다. 동작 (202) 에서는, 프로세싱 서브시스템 (22) 의 레코드 내용들을 "0" 으로 설정하기 위하여 초기화 동작이 수행된다. 동작 (204) 에서, 프로세싱 서브시스템 (22) 은 데이터베이스 (26) 에 저장된 가장 현재의 레코드를 획득하고, 동작 (206) 에서, 그것이 연관된 bG 테스트 값을 가지는지를 결정하기 위하여 체크한다. 그렇지 않을 경우, 동작 (208) 에서는, 최대 허용된 bG 값이 연산되고 사용자에게 디스플레이된다. 동작 (210) 에서, 프로세싱 서브시스템 (22) 은 현재의 시간 블록을 결정한다. 동작 (212) 에서, 프로세싱 서브시스템 (22) 은 사용자가 하나를 초과하는 건강 이벤트 옵션을 선택하였는지를 결정하기 위하여 체크하고, 사용자가 하나를 초과하는 옵션을 선택하였을 경우, 후속 식사 볼러스 및 정정 볼러스 계산들에 적용될, 동작 (214) 에서 표시된 바와 같이, 사용자가 맞춤형 백분율 값을 입력하는 요청이 디스플레이 (16) 상에서 행해진다. 동작 (216) 에서, 프로세싱 서브시스템 (22) 은 식사 볼러스를 연산할 것이고, (임의의 이러한 조절이 사용자에 의해 선택되었을 경우) 사용자에 의해 정의된 선택된 건강 이벤트 조절을 적용할 것이다. 동작 (218) 에서, 프로세싱 서브시스템 (22) 은 총 볼러스 (total bolus) 를 연산할 것이다. 동작 (220) 에서, 프로세싱 서브시스템 (22) 은 출력을 업데이트할 것이고, 동작 (222) 에서, 데이터베이스 (26) 에서의 레코드와 함께 출력을 저장할 것이다.
도 4a 및 도 4b 를 더욱 참조하면, 동작 (206) 에서의 체크가 가장 현재의 레코드와 연관된 bG 값이 있음을 드러낼 경우, 디바이스 (10) 의 디스플레이 한계를 초과하고 그러므로, 추천된 정정 볼러스를 계산하기 위해 이용되지 않을 bG 판독을 표시하는, 레코드의 "HI" 테스트 플래그가 설정되는지를 알아 보기 위하여 체크가 동작 (224) 에서 행해진다. 이 체크가 "예" 답변을 제공할 경우, HI bG 판독에 대한 동작 (225) 에서의 적절한 경고의 디스플레이 후에, 식사 볼러스에 대한 추천만을 획득하기 위하여 동작들 (208 내지 222) 이 수행될 수도 있다. 동작 (224) 에서의 체크가 "아니오" 답변을 생성할 경우, 동작 (226) 에서 표시된 바와 같이, 가장 현재의 레코드 (Advice Record_IN) 에 대해 "LO" 또는 "HYPO" 테스트 플래그들이 설정되는지를 결정하기 위하여 체크가 행해진다. 이것은 저혈당 조건에서의 볼러스, 또는 디바이스 (10) 의 디스플레이 한계 미만의 bG 판독에 의한 볼러스의 추천을 방지하기 위한 별도의 체크이다. "예" 답변의 경우, 플로우차트 (200) 의 루틴은 종료된다 (그리고 도 5 에 도시된 플로우차트 (300) 는 탄수화물 제안을 계산하기 위하여 시작됨). 동작 (226) 에서의 체크가 "아니오" 답변을 생성할 경우, 도 4b 의 동작 (228) 에서는, 프로세싱 서브시스템 (22) 이 최대 허용된 bG 값을 연산하고, 그것을 디스플레이 (16) 상에서 사용자에게 디스플레이한다.
도 4b 에서 계속하여, 동작 (230) 에서는, 프로세싱 서브시스템 (22) 이 현재의 사용자 정의된 시간 블록을 결정한다. 동작 (232) 에서, 프로세싱 서브시스템 (22) 은 사용자가 하나를 초과하는 건강 이벤트 옵션을 선택하였는지를 결정하기 위하여 체크하고, 사용자가 하나를 초과하는 옵션을 선택하였을 경우, 동작 (236) 에서의 정정 볼러스 계산에 적용될, 동작 (234) 에서 표시된 바와 같이, 사용자가 맞춤형 백분율 값을 입력하는 요청이 디스플레이 (16) 상에서 행해진다. 동작 (236) 에서, 프로세싱 서브시스템 (22) 은 정정 볼러스를 연산할 것이고, (임의의 이러한 조절이 사용자에 의해 선택되었을 경우) 사용자에 의해 정의된 선택된 건강 이벤트 조절을 적용할 것이다. 다음으로, 도 4a 로부터의 동작들 (216 내지 222) 이 적용될 것이다. 동작 (232) 에서의 체크가 "아니오" 답변을 생성할 경우, 동작 (236) 은 사용자 설정된 건강 이벤트 조절을 이용하여 수행될 것이다.
도 5 로 돌아가면, 탄수화물 제안이 디바이스 (10) 를 이용하여 계산될 수 있음을 도시하기 위한 예시적인 동작들을 예시하는 플로우차트 (300) 가 도시되어 있다 (이 흐름은 도 4a 에서의 동작 (226) 에서 "예" 경로에 기초하여 발생함). 동작 (302) 에서는, 프로세싱 서브시스템 (22) 의 출력 내용들에서 존재할 수도 있는 임의의 사전-존재하는 (pre-existing) 데이터가 소거되어 있음을 보장하기 위하여, 초기화 절차가 수행된다. 다음으로, 가장 현재의 레코드는 동작 (304) 에서 획득된다. 동작 (306) 에서는, 분석되고 있는 현재의 bG 테스트 값에 대한 저혈당 조건을 표시하는, 가장 현재의 레코드의 HYPO 테스트 플래그가 설정되는지를 결정하기 위하여, 체크가 행해진다. 그러한 경우, 프로세싱 서브시스템 (22) 은 동작 (308) 에서 탄수화물 ("탄수화물") 비율을 전통적인 방식으로 연산한다. 동작 (310) 에서는, 인슐린 감도가 전통적인 방식으로 계산된다. 동작 (312) 에서는, 현재 허용된 bG 가 연산되고, 이것은 이하에서 더욱 상세하게 설명된다. 동작 (314) 에서는, 가장 현재의 레코드 bG 농도로부터 현재 허용된 bG 를 감산함으로써 현재의 델타 (delta) bG 가 연산된다. 따라서, 사실상, 동작 (314) 은, 사용자의 bG 를 하강시키도록 동작할 이전에 취해진 정정 볼러스가 현재의 델타 bG 를 결정하기 위한 등식내에 팩터화될 수 있도록 한다. 동작 (316) 에서는, 현재의 델타 bG 가 인슐린 감도를 이용하여 그리고 탄수화물 비율 인자들에 의해 탄수화물 제안으로 변환된다. 동작 (318) 에서는, 탄수화물 제안 및 현재의 델타 bG 의 출력들이 저장된다.
이제 도 6 을 참조하면, 건강 이벤트 조절을 갖는 식사 볼러스를 연산하는 하나의 예시적인 방식을 예시하는 플로우차트 (400) 가 도시되어 있다 (이 흐름은 도 4b 의 동작 (216) 에서 호출됨). 동작 (402) 에서는, 추천된 식사 볼러스를 알려진 값으로 설정하기 위하여 초기화가 수행된다. 동작 (404) 에서는, 데이터베이스 (26) 로부터 프로세싱 서브시스템 (22) 에 의해 취출된 가장 현재의 레코드가 다음의 계산들에서의 이용을 위해 이용가능한 탄수화물 양을 가지는지를 결정하기 위하여 체크가 행해진다. 답변이 "예" 일 경우에는, 동작 (406) 에서, 탄수화물 비율의 분모 (denominator) 가 "0" 이 아닌 것을 보장하기 위하여 체크가 행해진다. 그렇지 않을 경우, 동작 (408) 에서는, 추천된 식사 볼러스가 그것과 연관되어 있음을 표시하기 위하여, 프로세싱 서브시스템 (22) 에 의해 생성되는 출력에 대해 비트가 설정될 것이다. 동작 (410) 에서는, 작동하는 식사 볼러스가 계산된다. 동작 (412) 에서는, 건강 이벤트 조절 백분율이 가장 현재의 레코드에서 설정되는지에 대해 체크가 행해진다. 그러한 경우, 동작 (414) 에서는, 작동하는 건강 백분율이 가장 현재의 레코드에 포함된 건강 백분율과 동일하게 설정되고, 추천된 식사 볼러스는 이 작동하는 건강 백분율을 이용하여 계산된다. 예를 들어, 사용자가 연관된 건강 이벤트에 대한 그녀의/그의 백분율 조절에서 "-20" 을 표시하였을 경우, 동작 (414) 은 "-20" 을 80 % 로 변환하기 위하여 이 정보를 이용하고, 80 % 수치는 작동하는 식사 볼러스를 수정하여 추천된 식사 볼러스를 보충하기 위해 이용된다. 따라서, 이 예에서, 추천된 식사 볼러스는 20 % 만큼 감소될 것이다. 동작 (418) 에서, 프로세싱 서브시스템 (22) 에 의해 방금 생성된 추천된 식사 볼러스 출력은 데이터베이스 (26) 의 로그 레코드들 부분 (26a) 에서 저장된다.
동작 (412) 에서의 체크가 가장 현재의 레코드에서 건강 백분율 조절이 표시되지 않음을 표시할 경우, 작동하는 건강 조절 백분율은 동작 (416) 에서 제로 (zero) 와 동일하게 설정되고, 다음으로, 동작들 (414 및 418) 이 반복된다. 동작 (404) 에서, 추천된 식사 볼러스가 계산될 수 있는 탄수화물 양이 없는 것이 이해될 경우, 제로의 추천된 식사 볼러스는 동작 (418) 에서 간단하게 저장된다. 동작 (406) 에서, 가장 현재의 레코드의 탄수화물 비율의 분모가 "0" 인 것으로 밝혀질 경우, 루틴은 에러 조건과 함께 종료된다.
도 7 을 참조하면, 사용자에 의해 입력된 백분율 건강 조절을 고려하여 정정 볼러스를 연산함에 있어서 수행될 수 있는 동작들을 제시하는 예시적인 플로우차트 (500) 가 도시되어 있다. 플로우차트 (500) 의 동작들은 도 4b 에서 동작 (236) 에 의해 호출된다는 것을 인식할 것이다.
동작 (502) 에서, 추천된 정정 볼러스는 알려진 값으로 초기화된다. 동작 (504) 에서, 작동하는 bG 정정 볼러스는 (현재의 bG 값, 타겟 bG, 가장 최근의 식사 및/또는 이전 정정 레코드들로부터 연산된) 현재의 델타 bG, 및 가장 현재의 레코드로부터의 인슐린 감도로부터 계산된다. 동작 (506) 에서는, 가장 현재의 레코드에서 존재하는 임의의 건강 조절 백분율이 작동하는 건강 백분율에 적용된다. 다시, 사용자가 가장 현재의 레코드와 연관된 bG 테스트 값에 대한 건강 조절 백분율을 선택할 때에 "없음" 을 지정하였을 경우, 동작 (510) 에서 도시된 바와 같이, 작동하는 건강 백분율은 임의의 백분율 값에 의해 수정되지 않을 것이다. 동작 (508) 에서는, 건강 백분율 조절에 의해 작동하는 bG 정정 볼러스를 수정함으로써 추천된 정정 볼러스가 획득된다. 따라서, 사용자가 가장 현재의 레코드와 연관된 bG 테스트 값에 대한 건강 조절 백분율을 "-25" 로 설정하였을 경우, 동작 (512) 에서의 계산은 작동하는 bG 정정 볼러스를 75 % 에 의해 승산할 것이다. 다음으로, 동작 (514) 에서, 새롭게 계산된 추천된 정정 볼러스를 갖는 출력은 데이터베이스 이력 로그북 (logbook) 레코드들 (26a) 에 저장된다.
정정 델타 bG 를 계산함에 있어서, 디바이스 (10) 의 장점은 작동하는 델타 bG 가 네거티브 값이 되도록 한다는 것이다. 이것은 예컨대, 새롭게 계산된 정정 델타 bG 로 팩터화되어야 할 LO 또는 HYPO bG 값을 보상하기 위하여, 사용자가 일부의 탄수화물들을 이전에 취하였을 경우, 임의의 정정의 일부가 새롭게 계산된 정정 델타 bG 로부터 제거될 수 있도록 한다. 또 다른 장점은, 사용자에 대한 탄수화물 제안을 연산하기 위하여, bG 타겟 범위의 중심에 대해서가 아니라 현재 허용된 bG 값에 대해 추천들이 계산될 수 있다는 것이다.
도 5 에 대해 논의되었던 바와 같이, 현재 허용된 bG 값은 동작 (312) 에서 연산된다. 유사하게, 현재 허용된 bG 값은 도 7 의 동작 (504) 에서 연산된다. 일부의 실시형태들에서, 볼러스 계산기 (22a) 는 환자의 현재의 bG 측정이 환자의 타겟 bG 값보다 작은지 여부에 기초하여 현재 허용된 bG 값을 연산한다. 도 8 은 현재 허용된 bG 값을 연산하기 위한 예시적인 방법 (600) 을 예시한다. 현재 허용된 bG 값은, 환자의 bG 값이 정정 볼러스를 요구함이 없이 현재의 시간에서 증가시킬 수 있는 값을 표시한다. 인식되어야 하는 바와 같이, 방법 (600) 은 디바이스 (10) 의 프로세싱 서브시스템 (22) 에 의해 실행될 수도 있고, 특히, 볼러스 계산기 (22a) 의 일부로서 구현될 수 있다. 설명의 목적들을 위하여, 방법 (600) 은 볼러스 계산기 (22a) 에 의해 수행되고 있는 것으로 설명된다.
동작 (610) 에서, 볼러스 계산기 (22a) 는 정정 델타 bG 값을 연산한다. 정정 델타 bG 값은 환자의 하나 이상의 활성 조언 이력 레코드들에서 정의된 이벤트들의 종합된 bG 하강 효과를 표시한다. 정정 델타 bG 값을 결정하기 위한 예시적인 방법은 이하에서 더욱 상세하게 그리고 도 9 에 대하여 설명된다.
동작 (612) 에서, 볼러스 계산기 (22a) 는 타겟 bG 값을 연산한다. 일부의 실시형태들에서, 타겟 bG 값은 상위 타겟 bG 값 및 하위 타겟 bG 값의 평균으로서 결정된다. 상위 타겟 bG 값 및 하위 타겟 bG 값은 환자, 또는 치료 의사와 같은 또 다른 사용자에 의해 디바이스 (10) 로 제공될 수 있다. 또한, 상위 타겟 bG 값 및 하위 타겟 bG 값은 조언 이력 레코드들에서 저장될 수도 있다. 대안적으로, 타겟 bG 값은 사용자에 의해 수동으로 입력될 수 있다.
동작 (614) 에서, 볼러스 계산기 (22a) 는 현재의 bG 측정 값을 수신한다. 위에서 논의된 바와 같이, 환자가 혈액 샘플을 제공하고 혈액 샘플이 디바이스 (10) 에 의해 분석될 때, 현재의 bG 측정 값이 결정될 수 있다.
동작 (616) 에서, 볼러스 계산기 (22a) 는 복수의 조언 이력 레코드들의 특정 조언 이력 레코드에 기초하여 정정 식사 상승 값을 결정한다. 이하에서 논의되는 바와 같이, 이용되는 특정 조언 이력 레코드는, i) 스낵 사이즈보다 더 큰 식사를 하는 환자에 대응하는 이벤트, ii) 식사 볼러스 양에 대응하는 이벤트, 및 iii) 환자, 또는 인슐린이 환자에게 실제로 투여되었음을 검증하는 인슐린 펌프 (36) 에 대응하는 이벤트를 포함할 수 있다. 정정 식사 상승 값은 추가적인 정정 볼러스를 요구함이 없이, 환자에 의해 행해진 식사의 결과로 그리고 타겟 bG 값에 대해 환자의 bG 레벨이 증가할 수 있는 양을 표시한다. 정정 식사 상승 값을 결정하기 위한 예시적인 기법은 이하에서 더욱 상세하게 그리고 도 10 에 대하여 논의된다.
동작 (618) 에서, 볼러스 계산기 (22a) 는 최대 허용된 bG 값을 결정한다. 최대 허용된 bG 값은 정정 볼러스를 환자에게 추천하기 전의 환자의 bG 측정에 대한 최대 값을 표시한다. 일부의 실시형태들에서, 최대 bG 값은 타겟 bG 값, 정정 델타 bG 값, 및 정정 식사 상승 값을 합산함으로써 결정될 수 있다.
동작 (620) 에서, 볼러스 계산기 (22a) 는 현재의 bG 측정 값을 타겟 bG 값과 비교한다. 볼러스 계산기 (22a) 가 현재의 bG 측정 값이 타겟 bG 값보다 더 큰 것으로 결정할 경우, 동작 (622) 에서 도시된 바와 같이, 볼러스 계산기는 현재 허용된 bG 값을 최대 허용된 bG 값과 동일하게 설정한다. 볼러스 계산기 (22a) 가 현재의 bG 측정 값이 타겟 값보다 더 작은 것으로 결정할 경우, 동작 (624) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 현재 허용된 bG 값을 타겟 bG 값 및 정정 델타 bG 값의 합과 동일하게 설정한다. 동작 (626) 에서, 볼러스 계산기 (22a) 는 현재 허용된 bG 값 및 최대 허용된 bG 값을 저장한다.
예시적인 방법 (600) 은 오직 예를 위해 제공된다는 것을 인식해야 한다. 방법 (600) 의 변형들이 구상되고, 변형들은 개시의 범위 내에 있다. 또한, 동작들의 순서는 제한하는 것으로 의도된 것은 아니고, 상이한 순서들이 구상되고 복 개시의 범위 내에 속한다.
이전에 논의되었던 바와 같이, 볼러스 계산기 (22a) 는 정정 델타 bG 값을 결정한다. 정정 델타 bG 값은 조언 이력 레코드들에서 정의된 이벤트들의 종합된 bG 하강 효과를 표시한다. 바꾸어 말하면, 정정 델타 bG 값은 환자의 신체에서 여전히 활성인 인슐린의 전체적인 하강 효과를 표시한다. 일부의 실시형태들에서, 볼러스 계산기 (22a) 는 본원에서 정의된 이벤트들의 종합된 bG 하강 효과를 결정하기 위하여, 가장 오래된 활성 조언 이력 레코드로부터 가장 최근의 활성 조언 이력 레코드까지의 활성 조언 이력 레코드들을 분석한다. 도 9 는 정정 델타 bG 값을 결정하기 위한 예시적인 방법 (700) 을 예시한다. 설명의 목적들을 위하여, 방법 (700) 은 볼러스 계산기 (22a) 에 의해 수행되는 것으로 설명된다.
동작 (710) 에서, 볼러스 계산기 (22a) 는 복수의 활성 조언 이력 레코드들을 취출한다. 이전에 설명된 바와 같이, 복수의 활성 조언 이력 레코드들은 환자의 bG 레벨들에 여전히 영향을 주는 이벤트들을 정의하는 활성 이력 레코드들이다. 예를 들어, 조언 이력 레코드에서 정의된 이벤트가 현재의 시간보다 3 시간 이전에 투여되었던 정정 볼러스이고 인슐린 도우즈의 활성 시간이 3 시간 이상이었을 경우, 조언 이력 레코드는 복수의 활성 조언 이력 레코드들에 포함될 것이다. 반대로, 현재의 시간보다 48 시간 이전에 대응하는 조언 이력 레코드는 복수의 활성 조언 이력 레코드들에 포함되지 않을 것이다. 동작 (712) 에서, 볼러스 계산기 (22a) 는 복수의 활성 조언 이력 레코드들 중의 가장 오래된 조언 이력 레코드를 선택한다.
동작 (714) 에서, 볼러스 계산기 (22a) 는 선택된 조언 이력 레코드에서의 HYPO 테스트 플래그 또는 LO 테스트 플래그 중의 어느 것이 1 로 설정되는지 여부를 결정한다. 그렇다면, 동작 (716) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 조언 이력 레코드에서 정의된 환자의 탄수화물 섭취에 기초하여 작동하는 델타 bG 값을 결정한다. HYPO 테스트 플래그 또는 LO 테스트 플래그의 어느 것도 선택된 조언 이력 레코드에서 1 로 설정되지 않을 경우, 동작 (718) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 선택된 활성 이력 레코드에 대응하는 시간에서 환자에게 투여되었던 인슐린에 기초하여 작동하는 델타 bG 값을 결정한다. 작동하는 델타 bG 값은, 선택된 조언 이력 레코드에서 정의된 이벤트들의 결과로서, 환자의 bG 레벨이 현재 감소되거나 증가되는 양이다.
동작 (720) 에서, 볼러스 계산기 (22a) 는 선택된 조언 이력 레코드가 생성되었던 이후에 경과된 시간의 양을 결정한다. 논의된 바와 같이, 조언 이력 레코드는 조언 이력 레코드에 대응하는 시간을 포함한다. 볼러스 계산기 (22a) 는 조언 이력 레코드가 생성되었던 이후에 경과된 시간의 양을 결정하기 위하여, 조언 이력 레코드에서 정의된 시간을 사용한다.
동작 (722) 에서, 볼러스 계산기 (22a) 는 조언 이력 레코드가 생성된 이후에 경과된 시간의 양이 조언 이력 레코드에서 정의된 오프셋 시간보다 더 큰지 여부를 결정한다. 시간의 양이 오프셋 시간보다 더 작을 경우, 동작 (724) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 정정 델타 bG 값을 작동하는 델타 bG 값의 전체 양만큼 증분시킨다. 시간의 양이 오프셋 시간보다 더 클 경우, 동작 (726) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 정정 델타 bG 값을 사전 결정된 공식의 결과만큼 증분시킨다. 예를 들어, 일부의 실시형태들에서는, 정정 델타 bG 값이 양만큼 증분된다:
여기서, Acting_Time 은 선택된 조언 이력 레코드에서 정의된 이벤트들이 환자의 bG 레벨을 달성하는 동안의 지속 시간이고, Offset_Time 은 선택된 조언 이력 레코드에서 정의된 이벤트들의 전체 효과가 적용되는 동안의 지속 시간이고, Time 은 현재의 시간과, 조언 이력 레코드가 생성된 시간 사이의 차이이다. 인식되어야 하는 바와 같이, 시간의 차이들, 예를 들어, Acting_Time - Offset_Time 및 Acting_Time - Time 은 분 (minute) 또는 초 (second) 단위로 표현될 수도 있다. 또한, Acting_Time 및 Offset_Time 은 선택된 활성 이력 레코드에서 정의될 수도 있다.
동작 (728) 에서, 볼러스 계산기 (22a) 는 정정 델타 bG 값의 누계 (running total) 를 사전 결정된 임계치, 예를 들어, 0 과 비교한다. 인식되어야 하는 바와 같이, 볼러스 계산기 (22a) 는 정정 델타 bG 를 계산하기 위하여, 복수의 활성 조언 이력 레코드들에서 정의된 이벤트들에 영향을 주는 bG 의 총 효과를 종합한다. 각각의 반복에서, 예를 들어, 또 다른 활성 조언 이력 레코드를 분석한 후, 누계가 0 보다 더 작을 경우, 동작 (730) 에서, 볼러스 계산기 (22a) 는 정정 델타 bG 에 대한 누계를 0 으로 설정한다. 그렇지 않으면, 정정 델타 bG 에 대한 누계는 변경되지 않는다.
동작 (732) 에서, 볼러스 계산기 (22a) 는 분석하기 위하여 남겨진 복수의 활성 조언 이력 레코드들에서 남아 있는 임의의 나머지 활성 조언 이력 레코드들이 있는지 여부를 결정한다. 그렇다면, 볼러스 계산기 (22a) 는 동작 (734) 에서 도시된 바와 같이, 다음 조언 이력 레코드를 획득하고, 위에서 설명된 동작들을 반복한다. 다른 경우, 볼러스 계산기 (22a) 는 루틴을 정지시키고, 종합된 정정 델타 bG 값을 저장한다.
상기한 방법 (700) 은 오직 예를 위해 제공되고 제한하도록 의도된 것이 아닌 것으로 인식된다. 정정 델타 bG 값을 결정하기 위한 다른 기법들이 구상되고, 이 다른 기법들은 본 개시의 범위 내에 있다.
위에서 설명된 바와 같이, 볼러스 계산기 (22a) 는 식사 볼러스를 요구함이 없이, 환자의 bG 레벨이 타겟 bG 값에 대해 증가할 수 있는 양을 표시하는 정정 식사 상승 값을 결정하도록 구성된다. 일부의 실시형태들에서, 볼러스 계산기 (22a) 는 가장 최근의 관련된 활성 조언 이력 레코드를 선택하기 위하여 활성 조언 이력 레코드들을 분석한다. 선택된 활성 조언 이력 레코드를 이용하여, 볼러스 계산기 (22a) 는 정정 식사 상승 값을 결정하기 위하여, 레코드가 생성되었던 이후에 경과된 시간의 양을 결정한다. 도 10 은 정정 식사 상승 값을 결정하기 위한 예시적인 방법 (800) 을 예시한다. 설명의 목적들을 위하여, 방법 (800) 은 볼러스 계산기 (22a) 에 의해 실행되는 것으로 설명된다.
동작 (810) 에서, 볼러스 계산기 (22a) 는 복수의 활성 조언 이력 레코드들을 획득한다. 이전에 설명된 바와 같이, 복수의 활성 조언 이력 레코드들은 작용 시간 (acting time) 내에서 생성된 조언 이력 레코드들이다. 즉, 활성 이력 레코드에서 정의된 이벤트들은 환자의 bG 측정들에 여전히 영향을 줄 수도 있다. 동작 (812) 에서, 볼러스 계산기 (22a) 는 가장 최근의 조언 이력 레코드를 선택한다.
동작 (814) 에서, 볼러스 계산기 (22a) 는 조언 이력 레코드가 i) 스낵 사이즈보다 더 큰 식사를 하는 환자에 대응하는 이벤트, ii) 식사 볼러스 양에 대응하는 이벤트, 및 iii) 환자, 또는 인슐린이 환자에게 실제로 투여되었음을 검증하는 인슐린 펌프 (36) 에 대응하는 이벤트를 포함하는지 여부를 결정하기 위하여, 선택된 조언 이력 레코드를 분석한다.
조건들 중의 하나 이상이 충족되지 않을 경우, 동작 (816) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 다음의 가장 최근 조언 이력 레코드를 획득한다. 상기 식별된 조건들 중의 전부가 충족될 경우, 동작 (818) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 선택된 조언 이력 레코드의 시간을 결정한다. 볼러스 계산기 (22a) 가 상기 기재된 기준들을 충족시키는 레코드를 식별할 수 없을 경우, 방법은 종료되고, 식사 상승 값은 0 과 동일하게 설정된다는 것에 주목해야 한다.
동작 (820) 에서, 볼러스 계산기 (22a) 는 선택된 조언 이력 레코드가 생성되었던 이후에 경과된 시간의 양을 결정한다. 동작 (822) 에서, 볼러스 계산기 (22a) 는 경과된 시간의 양이 선택된 조언 이력 레코드에서 정의된 오프셋 시간보다 더 작은지 여부를 결정한다. 시간의 양이 오프셋 시간보다 더 작을 경우, 동작 (824) 에서 도시된 바와 같이, 정정 식사 상승 값은 식사 상승 값들을 정의하는 작용 형상에서 표시된 바와 같이, 식사 상승 값의 전체 양과 동일하게 설정된다. 논의된 바와 같이, 작용 형상의 값들은 환자 또는 치료 의사와 같은 사용자에 의해 입력될 수도 있다. 그러나, 시간의 양이 오프셋 시간보다 더 클 경우, (826) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 정정 식사 상승 값을 조절된 식사 상승 값과 동일하게 설정한다. 일부의 실시형태들에서, (826) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 정정 식사 상승 값을 사전 결정된 공식의 결과와 동일하게 설정한다. 예를 들어, 조절된 식사 상승 값은 다음 식의 결과와 동일하게 설정될 수 있다:
여기서, Meal_Rise 는 선택된 조언 이력 레코드에 대응하는 작용 형상에서 정의된 전체 식사 상승 값이고, Acting_Time 은 선택된 조언 이력 레코드가 환자의 bG 레벨을 달성하는 동안의 지속 시간이고, Offset_Time 은 선택된 조언 이력 레코드에서 정의된 이벤트들의 전체 효과가 적용되는 동안의 지속 시간이고, Time 은 선택된 조언 이력 레코드가 생성된 이후의 시간의 양이다. Acting_Time 및 Offset_Time 은 선택된 활성 이력 레코드에서 정의될 수도 있다. 동작 (828) 에서는, 정정 식사 상승 값이 저장된다.
상기한 방법 (800) 은 오직 예를 위해 제공되고 제한하도록 의도된 것이 아닌 것으로 인식된다. 정정 식사 상승 값을 결정하기 위한 다른 기법들이 구상되고, 이 다른 기법들은 개시의 범위 내에 있다.
도 9 에 대하여 이전에 논의된 바와 같이, 볼러스 계산기 (22a) 가 특별한 조언 이력 레코드에 대한 작동하는 정정 델타 bG 값을 결정할 때, 볼러스 계산기 (22a) 는 HYPO 또는 LO 테스트 플래그가 참 (true) 으로 설정되는지 여부를 결정한다. 어느 플래그도 설정되지 않을 경우, 볼러스 계산기는 환자의 인슐린 이력에 기초하여 작동하는 델타 bG 값을 결정한다. 도 11a 및 도 11b 는 환자의 인슐린 이력에 기초하여 작동하는 델타 bG 값을 결정하기 위한 예시적인 방법 (900) 을 함께 예시한다.
동작 (910) 에서, 볼러스 계산기 (22a) 는 작동하는 정정 델타 bG 값이 계산되고 있는 조언 이력 레코드를 획득한다. 동작 (912) 에서, 볼러스 계산기 (22a) 는 조언 이력 레코드에서 정의된 이벤트들이 인슐린 펌프 (36) 에 의해 인슐린이 환자에게 투여되었다는 확인을 포함하는지 여부를 결정한다. 그렇다면, 동작들 (914 및 916) 에서 각각 도시된 바와 같이, 작동하는 정정 볼러스 값은 조언 이력 레코드에서 식별된 확인된 정정 볼러스 값과 동일하게 설정되고, 작동하는 식사 볼러스 값은 조언 이력 레코드에서 식별된 확인된 식사 볼러스 값과 동일하게 설정된다. 조언 이력 레코드에서 정의된 확인된 인슐린이 없을 경우, 동작들 (918 및 920) 에서 각각 도시된 바와 같이, 볼러스 계산기 (22a) 는 작동하는 정정 볼러스 값을 조언 이력 레코드에서 식별된 사용자 선택된 정정 볼러스 값과 동일하게, 그리고 작동하는 식사 볼러스 값을 사용자 선택된 식사 볼러스 값과 동일하게 설정한다.
동작 (922) 에서, 볼러스 계산기 (22a) 는 조언 이력 레코드에서 정의된 건강 백분율 값이 정의되는지 여부를 결정한다. 건강 백분율 값이 정의될 경우, 작동하는 정정 볼러스는 다음과 동일하게 설정된다:
여기서, 동작 (924) 에서 도시된 바와 같이, WorkingCorrectionBolus 는 위에서 결정된 바와 같은 작동하는 정정 볼러스 값이고, HealthPercentage 는 조언 이력 레코드에서 정의된 건강 백분율 값이다. 건강 백분율 값은 백분율의 십진법 표현일 수 있는 것으로 인식된다. 또한, 동작 (926) 에서는, 작동하는 식사 정정 볼러스 값이 다음과 동일하게 설정된다:
여기서, WorkingMealBolus 는 위에서 결정된 작동하는 정정 볼러스 값이다. 건강 백분율 값은 백분율의 십진법 표현일 수 있는 것으로 인식된다. 동작 (922) 에서, 건강 백분율이 정의되지 않을 경우, 작동하는 정정 볼러스 및 작동하는 식사 볼러스 값들은 변경되지 않은 상태로 남겨진다.
동작 (928) 에서, 볼러스 계산기 (22a) 는 작동하는 정정 bG 값이 0 과 동일한지 여부를 결정한다. 그렇다면, 볼러스 계산기 (22a) 는 동작 (929) 에서 도시된 바와 같이, 작동하는 델타 bG 값을 0 과 동일하게 설정하고, 프로세스는 작동하는 델타 bG 값을 반환한다.
작동하는 정정 bG 값이 0 과 동일하지 않을 경우, 동작 (930) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 작동하는 정정 볼러스 값 및 작동하는 식사 볼러스 값의 합이 0 보다 작은지 여부를 결정한다. 그렇다면, 볼러스 계산기 (22a) 는 동작 (932) 에서 도시된 바와 같이, 다음에 따라 작동하는 델타 bG 값을 계산한다:
여기서, WorkingMealBolus 는 위에서 결정된 작동하는 식사 볼러스 값이고, InsulinSensitivitybG 및 InsulinSensitivitylnsulin 는 환자, 또는 조언 이력 레코드에서의 또 다른 사용자에 의해 제공된 사전 결정된 값들이다. 일단 작동하는 델타 bG 값이 결정되면, 방법 (900) 은 종료된다.
그러나, 작동하는 정정 볼러스 값 및 작동하는 식사 볼러스 값의 합이 0 보다 더 작지 않을 경우, 동작 (934) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 환자가 조언 이력 레코드에서 식별된 볼러스 추천을 수용하였는지 여부를 결정한다. 그렇다면, 동작 (936) 에서, 볼러스 계산기 (22a) 는 다음에 따라 작동하는 델타 bG 값을 결정한다:
여기서, bG_Concentration 은 조언 이력 레코드에서 식별된 측정된 bG 농도 값이고, Currently_Allowed_bG 는 조언 이력 레코드에서의 현재 허용된 bG 값이고, 이들의 계산은 위에서 더욱 상세하게 설명되었다. 조언 이력 레코드가 볼러스 추천이 수용되었음을 표시하지 않을 경우, 동작 (938) 에서, 볼러스 계산기 (22a) 는 다음에 따라 작동하는 델타 bG 값을 결정한다:
여기서, WorkingCorrectionBolus 는 위에서 설명된 작동하는 정정 볼러스 값이고, InsulinSensitivitybG 및 InsulinSensitivitylnsulin 는 환자, 또는 조언 이력 레코드에서의 또 다른 사용자에 의해 제공된 사전 결정된 값들이다. 일단 작동하는 델타 bG 값이 결정되면, 작동하는 델타 bG 값이 반환되고, 방법 (900) 은 실행을 정지시킨다.
상기한 방법 (900) 은 오직 예를 위해 제공되고 제한하도록 의도된 것이 아닌 것으로 인식된다. 작동하는 델타 bG 값을 결정하기 위한 다른 기법들이 구상되고, 이 다른 기법들은 개시의 범위 내에 있다.
도 9 에 대하여 이전에 논의된 바와 같이, 볼러스 계산기 (22a) 가 특별한 조언 이력 레코드에 대한 작동하는 정정 델타 bG 값을 결정할 때, 볼러스 계산기 (22a) 는 HYPO 또는 LO 테스트 플래그가 참으로 설정되는지 여부를 결정한다. 하나 또는 둘 모두의 플래그들이 설정되는 경우, 볼러스 계산기 (22a) 는 환자의 탄수화물 이력에 기초하여 작동하는 델타 bG 값을 결정한다. 도 12 는 환자의 탄수화물 이력에 기초하여 작동하는 델타 bG 값을 결정하기 위한 예시적인 방법 (1000) 을 예시한다.
동작 (1010) 에서, 볼러스 계산기 (22a) 는 작동하는 정정 델타 bG 값이 계산되고 있는 조언 이력 레코드를 수신한다. 동작 (1012) 에서, 볼러스 계산기 (22a) 는 LO 테스트 플래그가 설정되는지 여부를 결정한다. LO 테스트 플래그가 설정되지 않을 경우, 동작 (1014) 에서, 볼러스 계산기 (22a) 는 조언 이력 레코드에서 표시된 볼러스 추천이 수용되었는지 여부를 결정한다. 볼러스 추천이 수용되었을 경우, 동작 (1016) 에서, 볼러스 계산기 (22a) 는 다음에 따라 작동하는 델타 bG 값을 결정한다:
여기서, bG_Concentration 은 조언 이력 레코드에서 식별된 측정된 bG 농도 값이고, Currently_Allowed_bG 는 조언 이력 레코드에서의 현재 허용된 bG 값이다.
조언 이력 레코드가 LO 테스트 플래그가 참이었거나 볼러스 추천이 수용되지 않았음을 표시할 경우, 동작 (1018) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 탄수화물 양 값이 조언 이력 레코드와 연관되었는지 여부를 결정한다. 그렇지 않을 경우, 동작 (1020) 에서 도시된 바와 같이, 작동하는 델타 bG 값은 0 과 동일하게 설정된다. 탄수화물 값이 조언 이력 레코드와 연관되었을 경우, 동작 (1022) 에서, 볼러스 계산기 (22a) 는 다음에 따라 작동하는 델타 bG 값을 계산한다:
여기서, CarbAmount 는 조언 이력 레코드와 연관된 탄수화물 양 값이고, InsulinSensitivitybG, InsulinSensitivitylnsulin, CarbRatioInsulin 및 CarbRatioCarbs 는 환자, 또는 조언 이력 레코드에서의 또 다른 사용자에 의해 제공된 사전 결정된 값들이다. 일단 작동하는 델타 bG 값이 결정되면, 작동하는 델타 bG 값이 반환되고, 방법 (1000) 은 실행을 정지시킨다.
상기한 방법 (1000) 은 오직 예를 위해 제공되고 제한하도록 의도된 것이 아닌 것으로 인식된다. 작동하는 델타 bG 값을 결정하기 위한 다른 기법들이 구상되고, 이 다른 기법들은 개시의 범위 내에 있다.
일부의 실시형태들에서, 환자는 인슐린의 도우즈가 가까운 미래에, 예를 들어, 약 10 분안에 투여될 것이라는 표시를 볼러스 계산기 (22a) 에 제공할 수 있다. 이 실시형태들에서, 볼러스 계산기 (22a) 는 나중에 투여된 인슐린으로부터 기인할 래그 시간 (lag time) 을 보상하기 위하여 조언 이력 레코드에서의 오프셋 시간을 조절할 수 있다. 도 13a 및 도 13b 는 이러한 상황에서 보상되고 있는 래그 시간의 예를 예시한다. 도 13a 에는, 작용 형상 (1100) 이 예시되어 있다. 도 13a 의 작용 형상 (1100) 은 환자가 볼러스 추천의 시간에 인슐린을 투여할 것이라고 가정한다. 그러나, 환자가 인슐린이 그 직후에 투여될 것이라는 표시를 제공할 경우, 볼러스 계산기 (22a) 는 볼러스 추천과, 인슐린이 투여될 때 사이의 래그 시간을 감안하기 위하여 작용 형상에서 정의된 오프셋 시간 및 작용 시간을 조절할 수 있다. 도 13b 는 래그 시간이 감안된 후의 작용 형상 (1100) 의 예를 예시한다. 오프셋 시간 및 작용 시간은 모두 래그 시간만큼 증가되었다는 것이 인식되어야 한다.
일부의 실시형태들에서, 환자는 볼러스 조언 특징을 온 (on) 또는 오프 (off) 할 수 있다. 볼러스 조언 특징이 오프될 때, 볼러스 계산기 (22a) 는 다양한 이벤트들에 대한 조언 이력 레코드들을 생성하지 않도록 구성될 수도 있다. 그러나, 환자가 볼러스 조언 특징을 온 (on) 하는 것으로 판단할 경우, 볼러스 계산기 (22a) 는 위에서 설명된 방법들을 수행하기 위하여 이전 조언 이력 레코드들을 요구할 수도 있다. 따라서, 일부의 실시형태들에서, 환자가 볼러스 조언 특징을 온할 때, 볼러스 계산기 (22a) 는 복수의 조언 이력 레코드들을 생성하고, 사용자, 예를 들어, 환자 또는 환자의 의사에 의해 제공된 값들로 위에서 설명된 파라미터 값들을 다시 채운다. 이 실시형태들에서, 값들을 채우기 위한 특별한 데이터, 예를 들어, bG 측정 값들 및 식사 이력들이 기록되지 않았을 수도 있으므로, 다양한 필드들은 비어 있는 상태로 남겨질 수도 있다. 그러나, 데이터가 유지되었을 경우, 데이터는 역시 조언 이력 레코드들에 자동으로 다시 채워질 수도 있다.
일부의 실시형태들에서, 환자는 볼러스를 전달하기 위한 명령들을 인슐린 펌프 (36) 에 제공할 수 있다. 사용자는 볼러스를 수동으로 전달하기 위한 옵션을 가진다. 볼러스가 투여될 때, 볼러스 계산기 (22a) 는 환자에게 전달된 볼러스의 양을 포함한다. 그러나, 인슐린의 추천된 양을 포함하는 볼러스 추천이 환자에게 제공되지만, 인슐린의 추천된 양과 일치하지 않는 볼러스 양을 수동으로 전달하는 상황이 발생할 수도 있다. 이것은 환자가 인슐린 펌프 (36) 의 사용자 인터페이스를 이용하여 정확한 양을 입력할 수 없었기 때문이거나, 펌프에 의한 부분적인 전달 에러로 인한 것일 수도 있다. 따라서, 일부의 실시형태들에서, 볼러스 계산기 (22a) 는 환자에 의해 수동으로 입력된 양을 볼러스 추천 양으로 전달된 볼러스 양과 비교하도록 구성된다. 불일치가 있을 경우, 볼러스 계산기 (22a) 는 예를 들어, 입력된 양이 볼러스 추천의 "스텝-사이즈 (step-size)" 이내에 있을 경우, 환자가 인슐린 펌프 (36) 의 사용자 인터페이스를 이용하여 정확한 양을 입력할 수 없다는 것에 기인하였는지 여부를 결정한다. 이것이 사실일 경우, 볼러스 계산기 (22a) 는 (예를 들어, 동작 (934) 에서) 수용된 추천을 "참 (TRUE)" 로서 저장한다. 그러나, 입력된 양이 볼러스 추천보다 훨씬 더 크거나 훨씬 더 작을 경우, 볼러스 계산기 (22a) 는 수용된 추천을 "거짓 (FALSE)" 으로서 저장하고, 환자에 의해 수동으로 입력된 인슐린의 양에 작용한다.
이제 도 14 를 참조하면, 예시적인 인슐린 펌프 (36) 가 예시되어 있다. 예시적인 실시형태에서, 인슐린 펌프 (36) 는 인슐린의 양을 환자에게 전달하기 위한 명령을 수신하도록 구성된다. 명령은 디바이스 (10) 로부터 수신될 수도 있거나, 사용자 인터페이스를 통해 사용자에 의해 수동으로 제공될 수도 있다. 명령은 인슐린의 양을 전달하기 위한 명령을 제공하도록 구성된 임의의 원격 디바이스로부터 수신될 수도 있다는 것을 인식해야 한다. 인슐린 펌프 (36) 는 인슐린을 환자에게 전달하고, 인슐린의 전달을 문서화하는 하나 이상의 인슐린 전달 레코드들을 생성한다. 인슐린 펌프 (36) 는 하나 이상의 인슐린 전달 레코드들을 디바이스 (10) 로 통신할 수 있고, 궁극적으로 인슐린의 전달을 이력 레코드 또는 조언 이력 레코드에서 문서화한다. 예시적인 실시형태에서, 인슐린 펌프 (36) 는 인슐린 전달 제어기 (1210), 인슐린 전달 기구 (1212), 인슐린 카트리지 (1214), 트랜시버 (1216), 배터리 (1218), 및 인슐린 전달 레코드 데이터 저장소 (datastore; 1220) 를 포함한다. 인슐린 펌프 (36) 는 도시되어 있지 않은 추가적인 컴포넌트들, 예를 들어, 디스플레이, 버튼들, 터치 스크린 또는 터치 패드와 같은 사용자 인터페이스를 포함할 수도 있다는 것을 인식해야 한다.
일부의 실시형태들에서, 인슐린 전달 제어기 (1210) 는 인슐린의 양을 환자에게 전달하기 위한 명령을 수신하며 명령에 기초하여 인슐린 전달 기구 (1212) 를 제어하도록 구성된 하나 이상의 프로세서들이다. 인슐린 전달 기구 (1212) 는 인슐린을 환자에게 전달하기 위한 임의의 적합한 기구일 수도 있다. 인슐린 전달 기구 (1212) 는 예를 들어, 튜브 (tube) 에 의해 인슐린 카트리지 (1214) 에 결합된다. 인슐린 전달 제어기 (1210) 는 인슐린을 환자에게 전달하기 위하여, 인슐린 전달 기구 (1212) 및/또는 인슐린 카트리지 (1214) 에서의 압력을 제어할 수 있다.
환자에게의 인슐린의 전달이 완료되거나 정지될 때, 인슐린 전달 제어기 (1210) 는 인슐린 전달 레코드 데이터 저장소 (1220) 에 저장될 수도 있는 하나 이상의 인슐린 전달 레코드들을 생성한다. 이하에서 설명되는 바와 같이, 인슐린 전달 제어기 (1210) 는 인슐린의 전달이 중단될 때에 인슐린 펌프 (36) 를 "일시정지 모드 (pause mode)" 에서 동작시키도록 구성된다. 인슐린의 전달이 다시 시작되기 전에 인슐린의 전달이 사전 결정된 시간의 양보다 적은 시간 동안에 정지될 경우, 인슐린 펌프 (36) 는 일시정지 모드에 있었다고 말한다. 인슐린 전달 제어기 (1210) 가 인슐린 펌프가 일시정지 모드에 있었거나 인슐린의 전달이 중단되지 않았던 것으로 결정할 경우에는, 인슐린 전달 제어기 (1210) 는 인슐린의 전체 양이 환자에게 전달되었음을 표시하는 인슐린 전달 레코드를 생성한다. 그러나, 인슐린의 전달이 중단되었던 시간의 양이 사전 결정된 시간의 양보다 더 클 경우, 인슐린 전달 제어기 (1210) 는 2 개의 인슐린 전달 레코드들을 생성하여, 하나의 레코드는 인슐린의 전달이 중단되기 전에 전달된 인슐린의 양을 표시하고, 다른 하나의 레코드는 인슐린의 전달이 다시 시작된 후에 전달된 인슐린의 양을 표시한다.
인슐린 전달 기구 (1212) 가 인슐린을 전달하고 있는 동안, 인슐린 전달 제어기 (1210) 는 인슐린 펌프 (36) 가 인슐린의 전체 양을 전달할 수 있는지 여부를 결정한다. 특히, 인슐린 전달 제어기 (1210) 는 인슐린의 전달 완료 불능을 표시할 수 있는 인슐린 펌프의 하나 이상의 조건들을 감시한다. 예를 들어, 일부의 실시형태들에서, 인슐린 전달 제어기 (1210) 는 인슐린 카트리지가 비어 있거나 제거되었는지 여부를 결정하기 위하여 인슐린 카트리지 (1214) 를 감시할 수 있다. 유사하게, 인슐린 전달 제어기 (1210) 는 인슐린 전달 기구 (1212) 가 폐쇄되었는지 여부를 결정하기 위하여 인슐린 카트리지 (1214) 에서의 압력을 감시할 수 있다. 즉, 압력이 압력 임계치를 초과하여 증가할 경우, 인슐린 전달 제어기 (1210) 는 인슐린 전달 기구 (1212) 가 폐쇄된 것으로 결정할 수 있다. 또한, 인슐린 전달 제어기 (1210) 는 배터리 (1218) 가 불충분한 전하를 가지거나 인슐린 펌프 (36) 로부터 제거되었는지 여부를 결정하기 위하여 배터리 (1218) 를 감시할 수 있다. 인슐린 전달 제어기 (1210) 는 인슐린의 전체 양의 전달 완료 불능을 또한 표시할 수도 있는 다른 조건들에 대하여 인슐린 펌프를 감시할 수 있다는 것을 인식해야 한다.
인슐린 전달 제어기 (1210) 가 인슐린 펌프가 인슐린의 전체 양을 전달할 수 없는 것을 표시하는 조건을 검출할 때, 인슐린 전달 제어기 (1210) 는 타이머를 유지하기 시작할 수 있다. 예를 들어, 일부의 실시형태들에서, 인슐린 펌프가 인슐린을 전달할 수 없는 것으로 결정할 때, 예를 들어, 조건이 검출될 때, 인슐린 전달 제어기 (1210) 는 제 1 시간 스탬프를 생성할 수도 있고, 그 조건이 해결될 때, 제 2 시간 스탬프를 생성할 수도 있다. 이 실시형태들에서, 인슐린 전달 제어기 (1210) 는 제 1 및 제 2 시간 스탬프에 기초하여 그 조건이 지속된 시간의 양을 결정할 수 있다. 타이머를 유지하기 위한 다른 기법들이 구상되고, 이 기법들은 본 개시의 범위 내에 있는 것을 인식해야 한다.
예를 들어, 새로운 인슐린 카트리지 또는 투입 세트가 적절하게 부착 및 준비되었을 때, 그 조건이 해결되었음을 결정할 시에, 인슐린 전달 제어기 (1210) 는 환자에게의 인슐린의 전달을 다시 시작하고 이를 완료한다. 그 조건이 해결된 후, 인슐린 전달 제어기 (1210) 는 타이머에 의해 표시된 시간의 양을 사전 결정된 시간 임계치, 예를 들어, 15 분과 비교한다. 시간의 양이 시간 임계치보다 더 작을 경우, 인슐린 전달 제어기 (1210) 는 인슐린 펌프 (36) 가 "일시정지 모드" 에서 동작하고 있었던 것으로 결정하고, 인슐린의 전체 양이 환자에게 투여되었음을 표시하는 제 1 레코드를 생성한다. 그러나, 시간의 양이 시간 임계치보다 더 클 경우, 인슐린 전달 제어기 (1210) 는 인슐린의 전달이 정지되었던 것으로 결정하고, 인슐린의 전달이 중단되기 이전에 환자에게 투여되었던 인슐린의 양을 표시하는 제 2 레코드와, 인슐린의 전달이 다시 시작된 후에 환자에게 전달되었던 인슐린의 양을 표시하는 제 3 레코드를 생성한다. 인슐린 전달 제어기 (1210) 는 생성된 인슐린 전달 레코드 또는 레코드들을 인슐린 전달 레코드 데이터 저장소 (1220) 에 저장한다. 인슐린 전달 제어기 (1210) 는 전달이 완료되거나 사전 결정된 스케줄에 따라, 예를 들어, 하루에 한번 생성된 인슐린 전달 레코드들을 디바이스 (10) 에 통신할 수 있다.
일단 인슐린 전달 레코드들이 디바이스 (10) 로 통신되면, 볼러스 계산기 (22a) 는 조언 이력 레코드에서의 하나 이상의 필드들을 채우기 위하여 인슐린 전달 레코드에 포함된 정보를 사용할 수 있다. 예를 들어, 볼러스 계산기 (22a) 는 인슐린 전달 레코드에 의해 표시된 전달된 인슐린의 양을 조언 이력 레코드의 확인된 총 볼러스 필드 또는 정정 볼러스 필드 또는 식사 볼러스 필드에 삽입할 수 있다. 또한, 조언 이력 레코드에서 표시된 볼러스 추천 및 인슐린 전달 레코드들에서 표시된 인슐린의 양에 기초하여, 볼러스 계산기 (22a) 는 확인된 인슐린이 볼러스 추천을 따랐는지 여부를 결정할 수 있다.
도 15 는 인슐린을 환자에게 전달하기 위한 예시적인 방법 (1300) 을 예시한다. 방법 (1300) 은 인슐린 펌프 (36) 의 하나 이상의 프로세서들에 의해 실행될 수도 있다. 동작 (1310) 에서 도시된 바와 같이, 인슐린 펌프 (36) 가 인슐린의 양을 전달하기 위한 명령을 수신하고 인슐린의 전달을 시작할 때, 방법 (1300) 은 실행을 시작할 수도 있다. 더 이전에 논의된 바와 같이, 명령은 디바이스 (10) 로부터 수신될 수도 있거나, 인슐린 펌프 (36) 의 사용자 인터페이스를 이용하여 수동으로 입력될 수도 있다. 인슐린의 전달을 시작할 시에, 동작 (1312) 에서 도시된 바와 같이, 인슐린 펌프 (36) 는 인슐린의 전체 양 전달 불능을 표시하는 하나 이상의 조건들을 감시할 수 있다. 논의된 바와 같이, 인슐린 펌프 (36) 는 조건들 하나의 존재에 대하여 배터리 (1218) 및 인슐린 카트리지 (1214) 를 감시할 수 있다.
동작 (1314) 에서, 인슐린 펌프 (36) 는 인슐린의 전달이 완료되는지, 즉, 인슐린의 전체 양이 전달되었는지 여부를 결정하기 위하여 환자에게 전달된 인슐린의 양을 체크할 수 있다. 인슐린의 전달이 완료된 경우, 동작 (1324) 에서 도시된 바와 같이, 인슐린 펌프 (36) 는 인슐린의 전체 양이 환자에게 전달되었음을 표시하는 제 1 레코드를 생성할 수 있다. 그러나, 전달이 완료되지 않은 경우, 동작 (1316) 에서 도시된 바와 같이, 인슐린 펌프 (36) 는 위에서 설명된 조건들 중의 하나가 구체화되었는지 여부를 결정한다. 조건들 중의 어느 것도 구체화되지 않았을 경우, 인슐린 펌프 (36) 는 계속 인슐린을 전달하고 조건들을 감시한다. 그러나, 조건들 중의 하나가 구체화된 경우, 예를 들어, 인슐린 카트리지 (1218) 가 비어 있을 경우, 동작 (1318) 에서 도시된 바와 같이, 인슐린 펌프 (36) 는 조건이 해결될 때까지 타이머를 유지한다. 위에서 논의되었던 바와 같이, 조건이 실현될 때 제 1 시간 스탬프, 및 조건이 해결될 때 제 2 시간 스탬프를 생성함으로써, 타이머가 유지될 수도 있다. 일단 조건이 해결되었으면, 예를 들어, 인슐린 카트리지 (1218) 가 교체되거나 다시 충전되면, (1320) 에서 도시된 바와 같이, 인슐린 펌프는 인슐린의 전달을 다시 시작하고 이를 완료한다. 일부의 실시형태들에서, 인슐린의 전달을 다시 시작하기 전에, 인슐린 펌프 (36) 는 그래픽 사용자 인터페이스에서, 그 또는 그녀가 인슐린의 전달을 다시 시작할 것을 희망함을 확인하기 위한 요청을 환자에게 디스플레이할 수도 있다. 일부의 실시형태들에서, 시간의 양이 시간 임계치보다 더 작을 경우에만, 요청이 환자에게 제공된다. 일단 환자가 확인을 제공하면, 인슐린 펌프 (36) 는 인슐린의 전달을 다시 시작할 수 있다.
일단 조건이 해결되거나 인슐린의 전달이 완료되면, 인슐린 펌프 (36) 는 인슐린 펌프 (36) 가 "일시정지 모드" 에서 동작하였는지 또는 정지되었는지 여부를 결정할 수 있다. 따라서, 동작 (1322) 에서 도시된 바와 같이, 인슐린 펌프 (36) 는 타이머에 의해 표시된 시간의 양을 시간 임계치와 비교할 수 있다. 시간의 양이 시간 임계치보다 더 작을 경우, 동작 (1324) 에서 도시된 바와 같이, 인슐린 펌프 (36) 는 인슐린 펌프 (36) 가 "일시정지 모드" 에서 있었던 것으로 결정하고, 인슐린의 전체 양이 환자에게 전달되었음을 표시하는 제 1 인슐린 전달 레코드를 생성한다. 동작 (1330) 에서 도시된 바와 같이, 제 1 인슐린 전달 레코드는 인슐린 전달 레코드 데이터 저장소 (1220) 에 저장될 수도 있다.
그러나, 시간의 양이 시간 임계치보다 더 클 경우, 인슐린 펌프 (36) 는 인슐린 펌프 (36) 가 정지되었던 것으로 결정한다. 이 상황에서는, 동작 (1326) 에서 도시된 바와 같이, 인슐린 펌프 (36) 는 인슐린의 제 1 양이 환자에게 전달되었음을 표시하는 제 2 인슐린 전달 레코드를 생성한다. 인슐린의 제 1 양은 인슐린 펌프 (36) 의 동작이 중단되기 전에 환자에게 전달되었던 인슐린의 양이다. 동작 (1328) 에서 도시된 바와 같이, 인슐린 펌프 (36) 는 또한 인슐린의 제 2 양이 환자에게 전달되었음을 표시하는 제 3 인슐린 전달 레코드를 생성한다. 인슐린의 제 2 양은 인슐린의 전달이 다시 시작된 후에 환자에게 전달되었던 인슐린의 양이다. 1330 에서 도시된 바와 같이, 인슐린 펌프 (36) 는 제 2 및 제 3 인슐린 전달 레코드들을 인슐린 전달 레코드 데이터 저장소 (1220) 에 저장할 수 있다. 방법 (1300) 의 완료 시에, 인슐린 펌프 (36) 는 임의의 생성된 인슐린 전달 레코드들을 디바이스 (10) 에 제공할 수도 있다.
방법 (1300) 은 오직 예를 위해 제공되고 제한하도록 의도된 것이 아닌 것으로 인식된다. 방법의 변형들이 구상되고, 변형들은 개시의 범위 내에 있다.
일부의 실시형태에서, 디바이스 (10) 는 멀티웨이브 볼러스를 환자에게 전달하기 위한 요청을 수신하도록 구성된다. 멀티웨이브 볼러스는 인슐린의 2 이상의 도우즈들을 통해 전달되는 볼러스 양이다. 따라서, 멀티웨이브 볼러스는 인슐린의 초기의 더 빠른 도우즈와 후속하여 인슐린의 하나 이상의 추가적인 더 느린 도우즈들을 포함한다. 추가적인 인슐린의 도우즈들은 사전 결정된 시간 주기 (time period) 들에 의해 초기 양의 인슐린의 도우즈뿐만 아니라, 다른 인슐린의 도우즈들로부터 분리된다. 인슐린의 추가적인 도우즈들을 서로로부터 분리시키는 시간 주기들은 소비된 식사의 타입 또는 양, 환자의 bG 레벨, 환자의 인슐린 감도, 또는 임의의 다른 적당한 팩터들과 같은 상이한 팩터들에 기초할 수 있다.
볼러스 계산기 (22a) 가 멀티웨이브 볼러스를 전달하기 위한 요청을 수신할 때, 볼러스 계산기 (22a) 는 멀티웨이브 볼러스의 각각의 도우즈에서 포함하기 위한 인슐린의 양을 결정할 수 있다. 또한, 볼러스 계산기 (22a) 는 인슐린의 느린 도우즈가 전달되는 시간 주기들을 결정할 수 있다. 일단 볼러스 계산기 (22a) (또는 환자) 가 초기의 빠르고 느린 도우즈들에서의 인슐린의 양, 및 느린 도우즈가 전달되는 시간을 결정하였으면, 볼러스 계산기 (22a) 는 인슐린 도우즈들을 전달하기 위한 명령들을 인슐린 펌프 (36) 에 제공할 수 있다.
디바이스 (10) 가 멀티웨이브 볼러스들을 지원하도록 구성되는 일부의 실시형태들에서, 볼러스 계산기 (22a) 는 환자에 대한 볼러스 추천들에 기초하여 인슐린의 초기의 도우즈에서 전달되어야 할 인슐린의 양을 결정하도록 구성될 수도 있다. 특히, 볼러스 계산기 (22a) 는 볼러스가 정정 볼러스를 포함하는지 여부를 결정한다. 볼러스가 정정 볼러스를 포함할 경우, 볼러스 계산기 (22a) 는 인슐린의 초기의 도우즈에서 전달되어야 할 인슐린의 양을, 정정 볼러스 양 이상인 값과 동일하게 설정한다. 바꾸어 말하면, 환자가 멀티웨이브 볼러스를 요청하고 가장 최근의 볼러스가 정정 볼러스를 포함할 경우, 인슐린의 초기의 도우즈는 적어도 정정 볼러스에서 표시된 인슐린의 전체 양을 포함한다. 볼러스가 식사 볼러스를 포함할 경우, 식사 볼러스 양은 인슐린의 초기의 도우즈와 추가적인 도우즈들 사이에서 분배될 수 있다. 식사 볼러스는 초기의 도우즈와 추가적인 도우즈들 사이에서 임의의 적당한 방식으로 분배될 수 있다는 것을 인식해야 한다. 그러나, 볼러스가 식사 볼러스를 포함하지 않을 경우, 볼러스 계산기 (22a) 는 멀티웨이브 볼러스를 전달하기 위한 요청을 무시할 수 있고 (또는 멀티웨이브 볼러스의 선택을 완전히 제거함), 인슐린 펌프 (36) 가 인슐린의 초기의 도우즈, 즉, 정정 볼러스 양만을 전달하도록 지시할 수도 있다.
도 16 은 환자에게 전달하기 위한 인슐린의 양을 결정하기 위한 예시적인 방법 (1400) 을 예시한다. 설명의 목적들을 위하여, 방법 (1400) 은 볼러스 계산기 (22a) 에 의해 실행되는 것으로 설명된다. 동작 (1410) 에서 도시된 바와 같이, 멀티웨이브 볼러스를 환자에게 전달하기 위한 요청이 수신될 때, 방법 (1400) 은 실행을 시작할 수 있다. 논의된 바와 같이, 요청은 디바이스 (10) 의 터치 디스플레이 (16) 와 같은 사용자 인터페이스를 통해 환자로부터 수신될 수 있다. 요청을 수신할 시에, 동작들 (1412 및 1414) 에서 각각 도시된 바와 같이, 볼러스 계산기 (22a) 는 요청된 멀티웨이브 볼러스에 대응하는 정정 볼러스 양과, 요청된 멀티웨이브 볼러스에 대응하는 식사 볼러스 양을 결정할 수 있다. 일부의 실시형태들에서, 볼러스 계산기 (22a) 는 볼러스 추천이 행해졌던 가장 최근의 이력 레코드로부터 정정 볼러스 양 및 식사 볼러스 양을 결정한다.
일단 볼러스 계산기 (22a) 가 정정 볼러스 양을 결정하였으면, 동작 (1416) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 정정 볼러스 양이 제로보다 더 큰지 여부를 결정할 수 있다. 정정 볼러스 양이 제로보다 더 클 경우, 동작 (1418) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 초기의 도우즈에서의 인슐린의 초기 양을 전체 정정 볼러스 양과 동일하게 설정한다.
동작 (1420) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 식사 볼러스 양이 제로보다 더 큰지 여부를 추가로 결정한다. 식사 볼러스 양이 제로보다 더 클 경우, 동작 (1422) 에서 도시된 바와 같이, 사용자는 식사 볼러스 양을 복수의 도우즈들중에 분배하도록 선택할 수 있다. 식사 볼러스 양이 추가적인 도우즈들중에서만 분배될 수도 있거나, 초기의 도우즈 및 추가적인 도우즈들 중에서 또한 분배될 수도 있다는 것을 인식해야 한다.
일단 사용자가 멀티웨이브 볼러스의 각각의 도우즈에서 전달하기 위한 인슐린의 양들을 확인하였으면, (1424) 에서 도시된 바와 같이, 볼러스 계산기 (22a) 는 인슐린의 초기의 도우즈를 전달하도록 인슐린 펌프 (36) 에 명령할 수 있다. 식사 볼러스 추천 없이 정정 볼러스 추천이 환자에 대해 행해졌을 경우, 볼러스 계산기 (22a) 는 인슐린의 초기의 도우즈를 전달하도록 인슐린 펌프 (36) 에 명령하기만 할 것이라는 것을 인식해야 한다. 반대로, 식사 볼러스 추천이 행해졌을 경우, 볼러스 계산기 (22a) 는 인슐린의 추가적인 도우즈들을 마찬가지로 전달하도록 인슐린 펌프 (36) 에 명령할 수도 있다.
도 16 에 예시된 방법 (1400) 은 예를 위하여 제공되며, 제한하도록 의도된 것이 아니다. 방법 (1400) 의 변형들이 구상되고, 변형들은 개시의 범위 내에 있다.