TYPE OF RECORD | RETENTION PERIOD |
Donor Records捐血者記錄 | |
● Blood/component donor information, consent and collection(捐血者資料,同意書) ● Donor blood testing(捐血者血液檢查) ● Donor notification of significant findings (捐血者特殊通知) ● Component production (製造的血品成分) ● Look back investigation/disease reporting (疾病報告) ● Final unit disposition(血品流向) | 10 years(保存10年) |
● Indefinitely and permanently deferred donors (停止捐血的捐血者) ● Donors placed under surveillance (for recipient protection(被監控的捐血者) | Indefinitely(永久保存) |
Patient Records病人記錄 | |
● Transfusion administration records (TRM.41450) (輸血記錄) ● Therapeutic phlebotomy/apheresis records (治療性放血紀錄) ● Final unit disposition (血品流向) | 10 years(保存10年) |
● Patient pre-transfusion testing results/interpretation (病人輸血前檢查的結果與解釋) ● Immediate evaluation/interpretation of transfusion reactions (輸血反應的調查與解釋) | 10 years(保存10年) |
● Transfusion problems such as transfusion reactions, unexpected antibodies, and special transfusion requirements. (輸血反應、不規則抗體、特殊血品需求) | Indefinitely(永久保存) |
● Employee signatures, initials, and identification codes (員工簽名及ID) | 10 years(保存10年) |
Quality Control Records* | |
● Quality management reviews(品管審查) ● Proficiency testing records(能力試驗紀錄) ● Inspections of blood/critical materials (特殊試劑與血液檢查) ● Instrument/equipment quality control and maintenance (儀器設備品管與保養) ● Irradiation dose delivery(放射劑量) ● Control systems for patient testing (病人檢查的管制系統) ● Retyping of donor units(血袋血型重測) ● Annual procedure review/procedure discontinued (年度審閱程序/已經停用的程序) | 5 years(保存5年) |
● Control systems for donor testing (捐血者檢查的管制系統) | 10 years(保存10年) |
Tissue Records (including bone marrow and/or progenitor cells) (組織/骨髓/臍帶血) | |
● Collection, transportation, processing, issuing, disposition (收集、運送、處理、發出及輸用) | 10 yrs beyond tissue's disposition or expiration, whichever is longer (組織輸用或過期後10年,以年限較長者決定) |
● Daily temperature monitoring (每日溫度記錄) | 10 years(保存10年) |
在第一天 20080429 有些工作上有趣的事很想記下來。可是好像每天都超忙,也不知道能記錄多少...ㄣ...任何事(有趣的、令人生氣的、奇怪的老闆、奇怪的顯微鏡下看到的東西...還有些什麼呢?)
2010年8月30日 星期一
血庫文件保存年限要求
依照 CAP 建議(翻譯僅供參考)
2010年8月17日 星期二
2010年7月22日 星期四
抽動脈血
現在很少坐在抽血櫃檯,今天有同事來叫我:有個人說以前都找你抽動脈血,能幫忙一下嗎?
這位先生真的超客氣的,頻說"不好意思!",其實他昨晚就到過檢驗科了,可是不敢給當班的人抽血。我還是找了一會兒,手臂就跟幾年前一樣,沒多長出表淺的靜脈。我猜想他年輕時可能曾打過毒品,抽過幾個這樣的手臂,這些血管是不會恢復的。
下針後竟然有靜脈的回血,但是我錯過了,只好再找動脈,看到快速的抽出血液時,他講話的語氣有種放心的感覺, 我也有種放心的感覺,技術還是退步了。
抽完後,他又頻頻感謝。能讓病人有放心依靠的感覺很好,他下次來,我還是會放下手邊工作幫他抽血的。或許,我也會考慮介紹技術更好的同事幫他抽血。
這位先生真的超客氣的,頻說"不好意思!",其實他昨晚就到過檢驗科了,可是不敢給當班的人抽血。我還是找了一會兒,手臂就跟幾年前一樣,沒多長出表淺的靜脈。我猜想他年輕時可能曾打過毒品,抽過幾個這樣的手臂,這些血管是不會恢復的。
下針後竟然有靜脈的回血,但是我錯過了,只好再找動脈,看到快速的抽出血液時,他講話的語氣有種放心的感覺, 我也有種放心的感覺,技術還是退步了。
抽完後,他又頻頻感謝。能讓病人有放心依靠的感覺很好,他下次來,我還是會放下手邊工作幫他抽血的。或許,我也會考慮介紹技術更好的同事幫他抽血。
2010年7月2日 星期五
文學大師的背後
這當然也是真的事,一個作品暢銷的文學大師,也在幾個國家做客座教授,從簽約到作品發行後的種種,的確有大師風範!
忍不住又想以第一人稱來述說,大部分數字是瞎湊的,但誤差應該在 xx%之內。
忍不住又想以第一人稱來述說,大部分數字是瞎湊的,但誤差應該在 xx%之內。
- 今天出版商的業務拿三百萬就想跟我簽下一本書?真是太瞧不起人了,依我的身價該捧個一千萬來,我再考慮考慮吧,小朋友辦事就是這樣搞不清狀況。
- 幾天後,出版商的老闆帶五百萬支票來跟我談。唉呀!好吧!看在老朋友的份上,雖然跟原來的最低要求打了對折,還是給他面子吧,免得人家說我高傲,不顧朋友情份,不過版稅抽成可不能少給了吧,25%,按按計算機,300 x 0.25 x 20萬本大概是一千五百萬吧,勉強可接受。
- 寫這樣的書大概需要一年的時間,想找個房子在一個生活機能好的地方,要方便找人採訪,方便吃東西...,找老闆幫忙租個房好了,租金當然要公司出囉,他們公司也沒少賺呀!對了我還缺一台筆記型電腦,叫他們順便送一台來。
- 上次跟親戚合寫的那本書只給了我三百萬,我要試試看這些辦事的小妹何時才會想到我親戚?要給人家 credit呀!終於,可能老闆提醒辦事的人吧,送來五百萬給親戚。我是不會在意親戚比我多拿一些的。
- 出書之後...
- 唉呀!這公司的行銷有問題!怎沒把我的書放在一進門就看得到的位置?而且周邊還放了些模仿我的作品,這樣會影響我的銷售、版稅收入,還要讓讀者去找書,真是...還是跟老闆說好了,應該讓他知道好朋友內心的感受。
- 新加坡出版界的朋友打電話來邀約,邀我出席發行首賣宣傳,最近這麼忙,叫國內這家出版商幫我訂個機票旅館好了,這算在出版的公關宣傳費裡應該還有多的額度。
- 這我一定要把辦事小妹抓來罵一頓,怎麼從機場出來沒有歡迎列隊?沒有記者採訪?這真的是一家國內的專業出版商?我下次要好好考慮換一家出版商。沒有宣傳哪來的銷售數字?連我這個作家都懂得事,怎麼專業出版商不懂?
- 寫作過程有些幫忙的朋友,想要謝謝人家,請客吃個飯好了,這也算公關支出吧。什麼!我請客要以你們公司的名義,老闆也要來?算了!算了!也是老朋友了,既然如此,我再多找幾個人來吧。
2010年6月23日 星期三
RhD陰性病人輸注分離術血小板產生 anti-D
在6天內輸注3U 分離術血小板(RhD+),第7天時測得產生抗體(anti-D),應該是血袋中殘留的紅血球造成的 ,還好病人是男性,不會有生產的問題。
*6月16日PLT = 3 x1000/ul
**備血,Antibody screening:Negative
**輸注分離術血小板 6/16 x 1U, 6/18 x 1U
*6月19日 PLT= 12 x1000/ul
**備血,Antibody screening:Negative
**輸注分離術血小板 6/20 x 1U
*6月22日 PLT= 5 x1000/ul
**備血,Antibody screening:Positive, Ab ID result: anti-D
*6月16日PLT = 3 x1000/ul
**備血,Antibody screening:Negative
**輸注分離術血小板 6/16 x 1U, 6/18 x 1U
*6月19日 PLT= 12 x1000/ul
**備血,Antibody screening:Negative
**輸注分離術血小板 6/20 x 1U
*6月22日 PLT= 5 x1000/ul
**備血,Antibody screening:Positive, Ab ID result: anti-D
2010年6月13日 星期日
文件掃描系統備份
備份在不同的電腦(掃描備份.bat)
@echo off
rem // copy to local (different directory)
cd d:\
xcopy d:\檢驗科\*.* c:\檢驗科scan備份\ /s /y
rem // copy to web directory (before transform)
NET USE o: \\192.168.xx.xx\d$\檢驗科 /user:lis2k
xcopy d:\檢驗科\*.* O:\ /y /s
NET USE O: /delete
rem // rename d:\檢驗科 加上日期
rem cd d:\
rename 檢驗科 檢驗科%Date:~4,4%%date:~9,2%%date:~12,2%
cd c:\appserv\php5
php -f filetransfer.php >> filetransfer.log
(2) filetransfer.php
//include mdb2
require_once("config.inc.php");
$scanDir="d:/檢驗科";
//check $dest_dir_name in function getDirectory
getDirectory( $scanDir );
for ($i=1;$i<=5;$i++){
//每次刪減一個level的目錄
delEmptyDirectory( $scanDir );
}
echo "Files Transfered";
//test empty directory
function is_empty_dir($dir)
{
if (($files = @scandir($dir)) && count($files) <= 2) {
return true;
}
return false;
}
//delete empty directory
function delEmptyDirectory($path){
$ignore = array( 'cgi-bin', '.', '..' );
$dh = @opendir( $path );
while( false !== ( $file = readdir( $dh ) ) ){
if( !in_array( $file, $ignore ) ){
if( is_dir( "$path/$file" ) ){
if (($files = @scandir("$path/$file")) && count($files) <= 2) {
rmdir("$path/$file");
}else{
delEmptyDirectory( "$path/$file", ($level+1) );
} //if 空目錄刪除, else 往下scan
} //if is_dir
} //if !in_array
} // while( false !== ( $file = readdir( $dh ) ) )
closedir( $dh );
} //function delEmptyDirectory
//test recursive directory list
function getDirectory( $path = '.', $level = 0 ){
global $mdb2;
$today=date("Ymd");
echo "$today files transfer start....\n";
//if backup to different dir, change the path below
$dest_dir_name="i:/backup/$today/";
//backup destination directory with date 2010(Y)04(m)22(d) sub-directory
if (!is_dir($dest_dir_name)){
mkdir($dest_dir_name);
echo "create dir $dest_dir_name \n";
//如果沒有這個目錄,mkdir
}
$ignore = array( 'cgi-bin', '.', '..' );
// Directories to ignore when listing output. Many hosts
// will deny PHP access to the cgi-bin.
$dh = @opendir( $path );
// Open the directory to the handle $dh
while( false !== ( $file = readdir( $dh ) ) ){
// Loop through the directory
if( !in_array( $file, $ignore ) ){
// Check that this file is not to be ignored
// $spaces = str_repeat( ' ', ( $level * 4 ) );
// Just to add spacing to the list, to better
// show the directory tree.
if( is_dir( "$path/$file" ) ){
// Its a directory, so we need to keep reading down...
// echo $i++."$spaces $path/$file
";
// unmark to echo directory name
getDirectory( "$path/$file", ($level+1) );
echo "go subDir $path/$file \n";
// Re-call this same function but on a new directory.
// this is what makes function recursive.
} else {
$full_path="$path/$file";
// echo $i++."$spaces $path/$file
";
$path_parts = pathinfo($full_path);
$file_mod_time=date ("YmdHis", filemtime($full_path));
$source_dir_name= $path_parts['dirname'];//directory
$source_file_name= $path_parts['basename'];//filename with ext
$dest_file_name= md5_file($full_path);//filename change to md5
$file_ext=$path_parts['extension'];//file ext
$source_file_name_no_ext= $path_parts['filename']; // since PHP 5.2.0, filename without ext
rename($full_path,"$dest_dir_name/$dest_file_name.$file_ext");
// exec_sql("insert into file_search(source_dir_name,source_file_name,dest_dir_name,dest_file_name,file_ext) values('$source_dir_name','$source_file_name','$dest_dir_name','$dest_file_name','$file_ext')");
exec_sql("insert into file_search(source_file_name,dest_dir_name,dest_file_name,file_ext,file_mod_time) values('$full_path','$today/','$dest_file_name','$file_ext','$file_mod_time')");
// echo "$path/$file".md5_file("$path/$file")."
";
// Just print out the filename
} //if is_dir
} //if !in_array
} // while( false !== ( $file = readdir( $dh ) ) )
closedir( $dh );
// Close the directory handle
} //function getDirectory
?>
@echo off
rem // copy to local (different directory)
cd d:\
xcopy d:\檢驗科\*.* c:\檢驗科scan備份\ /s /y
rem // copy to web directory (before transform)
NET USE o: \\192.168.xx.xx\d$\檢驗科 /user:lis2k
xcopy d:\檢驗科\*.* O:\ /y /s
NET USE O: /delete
rem // rename d:\檢驗科 加上日期
rem cd d:\
rename 檢驗科 檢驗科%Date:~4,4%%date:~9,2%%date:~12,2%
- 備份檔案轉入網頁資料庫
cd c:\appserv\php5
php -f filetransfer.php >> filetransfer.log
(2) filetransfer.php
//include mdb2
require_once("config.inc.php");
$scanDir="d:/檢驗科";
//check $dest_dir_name in function getDirectory
getDirectory( $scanDir );
for ($i=1;$i<=5;$i++){
//每次刪減一個level的目錄
delEmptyDirectory( $scanDir );
}
echo "Files Transfered";
//test empty directory
function is_empty_dir($dir)
{
if (($files = @scandir($dir)) && count($files) <= 2) {
return true;
}
return false;
}
//delete empty directory
function delEmptyDirectory($path){
$ignore = array( 'cgi-bin', '.', '..' );
$dh = @opendir( $path );
while( false !== ( $file = readdir( $dh ) ) ){
if( !in_array( $file, $ignore ) ){
if( is_dir( "$path/$file" ) ){
if (($files = @scandir("$path/$file")) && count($files) <= 2) {
rmdir("$path/$file");
}else{
delEmptyDirectory( "$path/$file", ($level+1) );
} //if 空目錄刪除, else 往下scan
} //if is_dir
} //if !in_array
} // while( false !== ( $file = readdir( $dh ) ) )
closedir( $dh );
} //function delEmptyDirectory
//test recursive directory list
function getDirectory( $path = '.', $level = 0 ){
global $mdb2;
$today=date("Ymd");
echo "$today files transfer start....\n";
//if backup to different dir, change the path below
$dest_dir_name="i:/backup/$today/";
//backup destination directory with date 2010(Y)04(m)22(d) sub-directory
if (!is_dir($dest_dir_name)){
mkdir($dest_dir_name);
echo "create dir $dest_dir_name \n";
//如果沒有這個目錄,mkdir
}
$ignore = array( 'cgi-bin', '.', '..' );
// Directories to ignore when listing output. Many hosts
// will deny PHP access to the cgi-bin.
$dh = @opendir( $path );
// Open the directory to the handle $dh
while( false !== ( $file = readdir( $dh ) ) ){
// Loop through the directory
if( !in_array( $file, $ignore ) ){
// Check that this file is not to be ignored
// $spaces = str_repeat( ' ', ( $level * 4 ) );
// Just to add spacing to the list, to better
// show the directory tree.
if( is_dir( "$path/$file" ) ){
// Its a directory, so we need to keep reading down...
// echo $i++."$spaces $path/$file
";
// unmark to echo directory name
getDirectory( "$path/$file", ($level+1) );
echo "go subDir $path/$file \n";
// Re-call this same function but on a new directory.
// this is what makes function recursive.
} else {
$full_path="$path/$file";
// echo $i++."$spaces $path/$file
";
$path_parts = pathinfo($full_path);
$file_mod_time=date ("YmdHis", filemtime($full_path));
$source_dir_name= $path_parts['dirname'];//directory
$source_file_name= $path_parts['basename'];//filename with ext
$dest_file_name= md5_file($full_path);//filename change to md5
$file_ext=$path_parts['extension'];//file ext
$source_file_name_no_ext= $path_parts['filename']; // since PHP 5.2.0, filename without ext
rename($full_path,"$dest_dir_name/$dest_file_name.$file_ext");
// exec_sql("insert into file_search(source_dir_name,source_file_name,dest_dir_name,dest_file_name,file_ext) values('$source_dir_name','$source_file_name','$dest_dir_name','$dest_file_name','$file_ext')");
exec_sql("insert into file_search(source_file_name,dest_dir_name,dest_file_name,file_ext,file_mod_time) values('$full_path','$today/','$dest_file_name','$file_ext','$file_mod_time')");
// echo "$path/$file".md5_file("$path/$file")."
";
// Just print out the filename
} //if is_dir
} //if !in_array
} // while( false !== ( $file = readdir( $dh ) ) )
closedir( $dh );
// Close the directory handle
} //function getDirectory
?>
訂閱:
文章 (Atom)