1988年12月20日の第一症例

本日はある意味記念すべき日でした。湘南鎌倉総合病院が開院したのは、1988年11月01日でした。そして、Philips社製のデジタル・シネ・アンギオ装置 (懐かしい DCIと呼ばれる装置です)が稼働し、第一号の冠動脈造影が行われたのが、12月15日でした。
そして、12月20日に第一号のPCIを行いました。それから24年近くが経過し、現在では累積症例数は20,000例を軽く超えているのです。
そして本日、その記念すべき第一号の患者さんが20年ぶりぐらいに中国より帰国され、再び治療を行いました。それだけの年月、たくさんの患者さん、色々なことが目の前に浮かびます。そして何よりも、PCIの長期的有効性の証明です。以前治療した患者さんが戻って来られる、これは病気の進展に伴い、仕方の無いことです。もとより今回の病変は新たな病変であり、以前の治療の不完全さを意味するものではありません。何よりも以前に治療させて頂いた患者さんがその24年後にも人生を全うされていることに治療した者として大いなる満足を覚えました。
昔治療させて頂いた時には当然の如く7Fr or 8Frのガイディング・カテーテルを用いて経大腿動脈的冠動脈インターベンションによる治療でした。そして単純な風船治療(POBA)による治療でした。そして本日は 5Frのガイディング・カテーテルを用いて 経橈骨動脈的冠動脈インターベンションにより、FFR-guideによって薬剤溶出性ステントが植え込まれたのです。20年間のこの変化、これも感慨深いものがあります。
本日治療した患者さんがこれから先20年後に同様に有意義な人生を送られていることを望みます。その頃には私自身がどうなっているか分からないですが・・

昨日のライブ

韓国全羅南道の道都 光州 (GwangJu)にある全南国立大学 (Chonnam National University)で開催された第10回GICS (GwangJu Interventional Cardiology Symposium)は当然のことながらそのメインはライブデモンストレーションでした。しかしながら、韓国で運用強化が開始された外国人医師による冠動脈インターベンションに対する規制、その事実上最初のテスト・ケースのため僕を含め、外国人医師は手技を行うことができませんでした。

何でも、去年後半から日本人医師が韓国のあちこちで冠動脈インターベンションを行い、その際に日本のメーカーが韓国で認可のとれていない医療機器を持込み、患者さんをPCIにより治療した例が相次ぎ、それに対して何処かの病院でどこかの医療機器代理店が KFDA (Korean Food and Drug Administration)に告発し、規制が強化された、という噂です。

僕は最初にカテ室内に入り、マイクをつけて しかし清潔にはならずに韓国の先生が手技をされる後ろに立ってアドバイスをする、そのような感じでライブデモンストレーション放映が開始されました。もとよりその症例は僕が治療することになっていた症例であり、70歳の男性労作性狭心症患者さんでした。他の病院で造影が為され、左冠動脈回旋枝末梢の慢性完全閉塞と、非常に発達した右冠動脈の慢性完全閉塞が発見されました。その病院で右冠動脈に対するPCIが試みられたのですが、ワイヤー不通過で失敗に終わり、全南国立大学病院に転送となった患者さんです。SPECT (Single Photon Emission Computed Tomography)では右冠動脈領域の虚血が証明されました。

韓国の先生により、両側大腿動脈穿刺で手技が開始され、順行性アプローチで開始となりました。当初、マイクロカテーテルと Fielder Xtreamで入り、次にWhisper-MSそしてMiracle3と変えて行きましたが、ワイヤーは通過しません。その辺りで放映は別のカテ室に変わりました。その時、神様が降りてきました。その神様が術者に乗り移り、ワイヤー先端の形状を変え、再度試み、それでも通過しないと見るや、素早く Conquest-Proに変更され、非常に硬い石灰化したかつ強い線維性組織からなる慢性完全閉塞病変を通過し、通過したと見や、高速回転を加えることにより病変によるワイヤーのトラップ抵抗を低下させながら右冠動脈末梢#4PDに通過させました。

しかしながら神様を持ってしても、病変は非常に硬く、1.0mm balloonでも通過できず、かといって Tornusは認可されておらず、このため 5Fr子カテを用いて再度 1.0mm balloonが試みられましたが、これも全く効果がありませんでした。神様はそこで素早く対側造影 5Frを 7Frに交換し、おもむろに前下行枝からの逆行性アプローチを開始し、素早く逆行性ルートから #4PDに 2.5mm balloonを挿入し、そこで順行性Conqeust-Proをアンカーし、これによって順行性にバルーンを通過させたのです。そして最終的には 2.75mm stentが病変部に入ることまで確認し、そこで神様は去って行きました。そして、再度中継が開始され、この韓国人の患者さんは無事治療が成功したのです。

その間僕は一部始終を見ていましたので、中継カメラに向かってもちろんガウンも手袋もはめてない状態で会場に向かってこれまで神様が行われた手技について解説しました。要点は、限られたデバイスしか無い状況でどうやって局面を打開していくのか?ということでした。

その後、すばやく会場に入り、そして自分の割り当ての講演を行い、そしてすぐに光州空港に向かい、金浦空港経由で羽田に戻りました。自分の体からはホンオとにんにくの匂いが漂っていた筈ですが、自分では臭わないのですよね。

MacBook Pro (OS-X Lion)でのスクリーン・キャプチャ

次第に MacBook Proを使い込んでいると、と言ってもほとんど その上の Parallels Desktop上の Windows7でですが・・・、突然あれ Screen Captureどうするんだろう? と、思いました。
この環境の Windows7では難しいかもしれないけど、そもそも OS-X Lionではどうするんだろう? それで調べたところ、

Command + Shift + Control + 4

このキー・コンビネーションで良いと分かりました。4つもキーを同時に押さねばならないのが Windowsと比べて明らかに使い勝手が悪いですね。
もう一つ突然発見しました。このマシンには SD Cardコネクタが存在しないのです。デジカメからの読み込み面倒です。

どうにもスッキリしないのですが・・・

これまで紹介したように、今 紹介診療機関のデータベースを CakePHP 2.0を用いて作成しようとしています。データ構造は簡単です。基本的に二つのテーブルがリンクしているのみです。診療機関には複数の医師が存在しますので、 clinicsテーブルと physiciansテーブルの間には 1:n の関係があります。使い勝手を良くするために、以下の画面を考えています。

<h2>クリニック情報の編集</h2>
<?php echo $this->Form->create('Clinic'); ?>
<?php echo $this->Form->input('clinic_name', array('label'=>'クリニック名')); ?>
<?php echo $this->Form->input('clinic_kana', array('label'=>'クリニック呼び名')); ?>
<?php if(!empty($physicianList)) { ?>
	<table>
	<tr>
    <th>医師名</th>
	<th>医師呼び名</th>
	<th>編集</th>
	</tr>
	<?php foreach($physicianList as $physicians): ?>
	<tr>
	<td><?php echo h($physicians['Physician']['physician_name']); ?></td>
	<td><?php echo h($physicians['Physician']['physician_kana']); ?></td>

    <td><?php echo $this->Html->link('追加', array('controller' => 'physicians', 'action' => 'registration', $physicians['Clinic']['id'])); ?>
	<?php echo $this->Html->link('削除', array('controller' => 'physicians', 'action' => 'delete_pre', $physicians['Physician']['id'])); ?></td>
	</tr>
	<?php endforeach; ?>
	</table>
<?php } ?>
<?php echo $this->Form->input('postal', array('label'=>'郵便番号')); ?>
<?php echo $this->Form->input('address', array('label'=>'住所')); ?>
<?php echo $this->Form->input('phone', array('label'=>'電話番号')); ?>
<?php echo $this->Form->input('fax', array('label'=>'ファックス番号')); ?>
<?php echo $this->Form->input('kakaritsuke_flag', array('label'=>'かかりつけ登録医です')); ?>
<?php echo $this->Form->input('comment', array('label'=>'備考')); ?>
<?php echo $this->Form->input('map', array('label'=>'地図情報')); ?>
<?php echo $this->Form->input('id', array('type'=>'hidden')); ?>
<?php echo $this->Form->end('修正'); ?>
そして、PhysiciansController.phpでは以下のように受けようと思っています。
<?php
	//edit
	public function edit($id = null) {
		if($this->request->isPost()||$this->request->isPut()) {
			if(!empty($this->data)) {
				if($this->Physician->save($this->data)) {
					$this->Session->setFlash('保存しました');
					$this->redirect(array('action'=>'index'));
					return;
				}
			}
			//error
			$this->setFlash('保存に失敗しました');
		} else {
			//$id dataを読み込む
			if(!is_null($id)) {
				$this->data = $this->Physician->findById($id);
			}
		}
	}
	//delete
	public function delete_pre($id = null) {
		$this->data = $this->Physician->findById($id); // Physiciansのデータを $this->dataに読み込むのに必要
		$this->render('delete');
		$this->delete();
	}
	public function delete($id = null) {
		$clinic_id = $this->data['Physician']['clinic_id'];

		if($this->request->isDelete()) {
			$this->Physician->delete($this->request->data['Physician']['id']);
			$this->redirect(array('controller' => 'clinics', 'action' => 'edit', $clinic_id));
			return;
		}
	}
?>

ここでのミソは、一旦 delete_preアクションに飛ばし、そこで該当する idのデータをデータベースから読み込み、それを $this->dataに格納し、それから render()メソッドを用いて delete.ctpによる表示系に飛ばすということです。でも疑問は、本当にこんなややこしいことせねばいけないのでしょうか?
動作確認ではきちんと動作します。どなたかご教授お願いします。

一年ぶりの光州

一年ぶりに光州にやってきました。ここの国立全南大学医学部 (Chonnam University)で開催された GICSという学会から招聘されたからです。これまでは当然の如くライブデモンストレーション術者としての役割もあったのですが、韓国では外国人医師による医療行為に対して、これまでは事実上何の規制もありませんでしたが、今年になって規制が敷かれ、その運用が今月になって強化され、今回が初めてのケースとなったようです。

今回は急な規制強化でもあり、temporal medical licenseの申請は誰も行っていませんでしたので、どの外国人医師も手技をすることはできません。ライブで手技をする、というのは、それなりの事前の緊張を伴いますが、まるで高くまで登った梯子の上で緊張していたのに、地面に着いたように緊張が取れてしまいます。しかし、それも時代の流れであり、これまでのある意味 やり放題というのがおかしかったのです。医療行為というのは、見方を変えれば、自国民主権に対しての介入行為ですので、国家主権に関わることです。このような重大な行為に関して、外国人が何の規制も無く自由にやり放題というのは、国家としておかしい、そのように思います。もちろん、自国民にとって、明らかに有益である医療行為に関しては積極的に許可が為され、自国民の福利厚生を促進すべきだと思います。

それはともかく、昨日はあのホンオ (アンモニア発酵させたエイ: 洪魚)をたらふく食べました。なお、フェというのは刺身のことです。相変わらず鼻に抜ける強烈な刺激に痺れます。このホンオ発祥の地は、実は光州から 10Kmぐらいの場所にあるナジュ (NaJu: 羅州)なのです。昨日はそこまで出かけローカルな食堂で食べました。何とそこら周辺にはホンオの店がずらりと並び、通りもホンオ通りという名前なのです。

そしてインターネットで調べると意外な事実が分かりました(もっともこの記述が正しければの話ですが・・・)。もともと黒山島(フクサンド)という韓国国立公園内の沖合の島周辺に生息するエイを船に積み込み倭寇の侵攻から逃れ、河を遡りナジュに辿り着く間に自然発酵し、それからホンオが始まった、というのです。さもありなんという話ですね。

その一部を引用しておきます

朝鮮王朝時代の生物学者、丁若銓(チョン・ヤクチョン)は1801年、カトリック迫害事件で全羅南道沖 の黒山島に島流しとなり、16年後に世を去った。丁は黒山島付近に生息する227種類の海産物や海 鳥の生態を記録した『シ山魚譜(シは玄を左右に並べた字)』を残した。黒山島名物のエイについて は、雌が釣り針に掛かると、雌を追ってきた雄も一緒に捕まえることができると書いた。  黒山島で刺し身で食べていたエイを発酵させて食べ始めたのは高麗時代末期だという。島の人々 は倭寇(わこう)による略奪を避けるため、一時的に栄山江をさかのぼり、羅州に逃れたが、その際に 持参したエイが船上で発酵し、鼻を突く独特の味わいが出た。このため、羅州の人々はエイを発酵さ せた「洪魚膾(ホンオフェ)」は羅州が元祖だと主張する。食べ方も少しずつ異なり、黒山島ではマッコ リ(濁り酒)を使った酢に塩、ごま油、刻みネギを混ぜた醋醤(チョジャン)と呼ばれるたれを付けて食べ る。羅州ではみそにトウガラシ粉、酢を混ぜた醋醤が欠かせない。咸平や霊岩では塩を付けて食べる。 全羅南道高興郡出身の詩人、宋秀権(ソン・スグォン)は「辛くてピリッとするエイの味、夜が更ける 南道(韓国南部を指す地域名)の食卓」と歌った。慶尚北道青松郡が故郷の小説家、金周栄(キム・ ジュヨン)も長編小説『洪魚』でエイを味わい深く描いた。その一節に「鼻を突く香りと熟した肉の味、 その身は筋に沿って歯応えがあり、香ばしくしっかりした味が絶品だ」とある。

 

2012-06-07 やはり

やはり CakePHP2.0で僕と同じように悩んでおられる方がおられました。
昨日このページにヒットしました。
この記述が正しいか否かは未だ試していませんが、少なくとも モデル ではなく、コントローラーだと思います。
今日ライブデモンストレーション症例終了してから試してみます。

2012-06-06 再び CakePHP – 2.0でのキャンセル、リセット・ボタンの判別

  echo $this->Form->create('Physician', array('type' => 'delete'));
  echo $this->Form->input('id', array('type' => 'hidden'));
  echo $this->Form->submit('削除', array('name' => 'delete'));
  echo $this->Form->submit('キャンセル', array('name' => 'cancel', 'type' => 'reset'));
  echo $this->Form->end();

というフォームを作成し、PhysiciansController.phpの中で、’delete’という名前と’cancel’という名前のボタンが押されたことをそれぞれ判別したいのですが、どちらのボタンを押しても、delete()というアクションに飛んでしまい、その中でボタンの判別ができないのです。
随分と色々試したり、コントローラーの中で pr()関数を用いて、どのようにオブジェクトが飛んでくるかを表示させたりしたのですが、ボタンを判別できるようなプロパティは無いのです。
それでコントローラーでの判別を止めて、以下のようにJavascriptと組み合わせることにしました。

上と同じなので省略ね
 echo $this->Form->submit('キャンセル', array('name' => 'cancel', 'onClick' => 'history.back()'));
  省略ね

これでとりあえずキャンセルボタンを押せば削除がキャンセルされて前のページに戻るようになりました。
うーん これは CakePHP流なのでしょうか? どうもすっきりしません。どなたかケーキ屋さん、教えて下さいな。

2012-06-06 本日も

本日も早朝から札幌に向かって出発です。ただ、今日の夕方には福島に移動せねばなりません。明日午前中に安達太良ライブデモンストレーションでの術者なのです。そして、その後 羽田空港経由で金浦に入り、金曜日に金浦から光州に飛ばねばなりません。土曜日に GICSという学会で講演とライブデモンストレーションがあり、土曜日に無理やり金浦経由で羽田に戻ります。
何とか日曜日を確保しようと必死ですね。

2012-06-05 CakePHP 2.0での POST dataの受け方

小倉ライブデモンストレーション前より悩んでいたことが解決
この親切なページのお陰です。
しかし、やはり同じように悩んでおられた方がおられたのですね。
僕はその歴史を良く知らないのですが、CakePHPはその前の Major versionである CakePHP 1.3から 現在の最新versionである CakePHP 2.0に移行中なのですが、問題は現在インターネットや書籍での解説はほとんどが 2.0ではなく 1.2 or 1.3のものなのです。
それらの解説を読めば

$this->params['forms']['id']

とすれば POSTで渡された $idを受けとることができる筈なのです。
しかし、そもそも $this->paramsなんて CakePHP2.0では無いのです。
それと同等の働きをするのが、何と

  $this->request->data['Model']['id']

なのです。もちろんここでのModelはそのデータが属するモデルであります。
これで懸案のプログラムが矛盾なく、しかもエレガントに動くようになりました。