亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? project.clp

?? 一個有關專家系統的CLISP 源代碼
?? CLP
?? 第 1 頁 / 共 3 頁
字號:
;*****************************************************************************
;*                                                                           *
;*                            WARNING and DISCLAIMER                         *
;*                                                                           *
;* This implementation the National Cholesterol Education Program guidelines *
;* in CLIPS is intended purely for educational purposes.  It was not         *
;* intended for actual use in a clinical setting.  Rigorous evaluation and   *
;* validation has NOT been done.  It is released to the public with          *
;* absolutely no warranty whatsoever regarding either the correctness of     *
;* the program, or its suitability for any purpose, whatsoever. The user     *
;* assumes all risks and liabilities from the use of this program.           *
;*                                                                           *
;* This program is neither supported nor maintained at this time.  Work on   *
;* the program ended in May 1994.  The program has not been updated since    *
;* that time.                                                                *
;*                                                                           *
;*****************************************************************************
;
; Brief description of the design of the program:
; The program uses various states (boxes in Fig. 1, 2, and 3 of the
; attached paper). State "aa" is the default beginning state. Most
; of the rules are dependent on the current state.
; There are rules for checking missing cholesterol, hdl, and ldl
; values. These rules DO NOT update state because they are dependent
; on the hdl, chol, and ldl values. As soon as the values are
; modified. Other rules (from state to state) will fire.

; patient1 tempate is for orginal patient information
(deftemplate patient1
	(slot name (type SYMBOL) (default ?DERIVE))
	(slot sex (type SYMBOL) (allowed-symbols female male) (default female))
	(slot h-chd (type SYMBOL) (allowed-symbols yes no) (default no))
	(slot htn (type SYMBOL) (allowed-symbols yes no) (default no))
	(slot smoking (type SYMBOL) (allowed-symbols yes no) (default no))
	(slot dm (type SYMBOL) (allowed-symbols yes no) (default no))
	(slot chd (type SYMBOL) (allowed-symbols yes no) (default no))
	(slot et (type SYMBOL) (allowed-symbols yes no) (default no))
	(slot pm (type SYMBOL) (allowed-symbols yes no) (default no))
	(slot age (type INTEGER) (default ?DERIVE)) 
	(slot hdl (type INTEGER) (default -1))
	(slot hdl-date (type INTEGER) (default (get-now)))	
	(slot ldl (type INTEGER) (default -1))
	(slot ldl-date (type INTEGER) (default (get-now)))
	(slot chol (type INTEGER) (default -1))
	(slot chol-date (type INTEGER) (default (get-now)))
	(slot treatment (type SYMBOL) 
		(allowed-symbols none diet drug) (default none))
	(slot treatment-date (type INTEGER) (default (get-now))))

; patient2 tempate is for processed patient information using 
; data form patient1
(deftemplate patient2
	(slot name (type SYMBOL) (default ?DERIVE))
	(slot chd (type SYMBOL) (allowed-symbols yes no) (default no))
	(slot hdl (type INTEGER) (default -1))
	(slot hdl-date (type INTEGER) (default (get-now)))	
	(slot ldl (type INTEGER) (default -1))
	(slot ldl-date (type INTEGER) (default (get-now)))
	(slot chol (type INTEGER) (default -1))
	(slot chol-date (type INTEGER) (default (get-now)))
	(slot treatment (type SYMBOL) 
		(allowed-symbols none diet drug) (default none))
	(slot treatment-date (type INTEGER) (default (get-now)))
	(slot risk (type INTEGER) (default ?DERIVE))
	(slot state (type SYMBOL) (default aa))
	(slot done (type SYMBOL) (allowed-symbols yes no) (default no)))

;*********BEGINNING OF RISK FACTOR RELATED FUNCTIONS*********
; Return 1 if argument is yes, 0 otherwise
(deffunction r1 (?a) "Return 1 if ?a = yes, 0 otherwise"
  (if (= 0 (str-compare ?a yes)) then (return 1)
   else (return 0)))

; function for sex and age related risk
(deffunction sex-risk (?s ?a ?pm ?et) "sex & age related risk"
  (if (= 0 (str-compare ?s male)) 
     then (if (>= ?a 45) 
	     then (return 1) 
	   else (return 0))
   else (if (>= ?a 65) 
	   then (return 1)
	 else (if (= 0 (str-compare ?pm yes)) 
		 then (if (= 0 (str-compare ?et yes))
			 then (return 1)
                       else (return 0))
	       else then (return 0)))))

; function to calculate hdl related risk
(deffunction hdl-risk (?hdl) "hdl risk"
  (if (< ?hdl 35) then (return 1) 
   else (if (>= ?hdl 60) then (return -1) else (return 0))))

; function for risk factors from the following:
; smoking, hypertension, diabetes, history of chd
(deffunction other-risk (?smoke ?h-chd ?htn ?dm) 
  (return (+ (r1 ?smoke) (r1 ?h-chd) (r1 ?htn) (r1 ?dm))))

; all risk factors
(deffunction total-risk (?sex ?age ?pm ?et ?hdl ?smoke ?h-chd ?htn ?dm) 
  (return (+ (sex-risk ?sex ?age ?pm ?et) (hdl-risk ?hdl)
	     (other-risk ?smoke ?h-chd ?htn ?dm))))
;*********END OF RISK FACTOR RELATED FUNCTIONS*********

; create new patient template with risk factors
(defrule create-patient2 "create patient2 based on info from patient1"
  (patient1 (sex ?sex) (age ?age) (pm ?pm) (et ?et) (smoking ?sm)
	    (h-chd ?h-chd) (htn ?htn) (dm ?dm)
            (name ?name) (chd ?chd) (hdl ?hdl) (ldl ?ldl) (chol ?chol)
	    (hdl-date ?hdl-date)  (ldl-date ?ldl-date)(chol-date ?chol-date) 
	    (treatment ?treatment) (treatment-date ?treatment_date))
  =>
  (assert (patient2 (name ?name) (chd ?chd) (hdl ?hdl) (ldl ?ldl) (chol ?chol)
	    (hdl-date ?hdl-date)  (ldl-date ?ldl-date)(chol-date ?chol-date) 
	    (treatment ?treatment) (treatment-date ?treatment_date)
	    (risk (total-risk ?sex ?age ?pm ?et ?hdl ?sm ?h-chd ?htn ?dm)))))

;****************************************************************************
;**************START OF RULES FOR UNTREATED PATIENTS WITHOUT CHD ************
;****************************************************************************


; Every patient must have cholesterol test. Does not modify state
(defrule check-chol "Check for presence of cholesterol"
  ?f1 <- (patient2 (name ?name) (chol ?chol) 
		   (treatment ?treatment) (done ?done))
  (test (= ?chol -1))
  (test (= 0 (str-compare ?done no)))
  (test (= 0 (str-compare ?treatment none)))
  =>
  (printout t crlf "Please input patient's " ?name "'s cholesterol value ")
  (printout t "[-1 if no value]" crlf)
  (bind ?answer (read))
  (if (and (numberp ?answer) (> ?answer 0)) then
	  (modify ?f1 (chol ?answer))
   else
	(printout t "Please obtain cholesterol test on " ?name crlf)
	  (modify ?f1 (done yes))))
;!!!no need to modify done here since default staet is aa. It goes nowhere.
; LOOK AT NEXT RULE

; rule for checking the age of the chol value
(defrule check-chol-date "date must be within 5 years"
  ?f1 <- (patient2 (name ?name) (chol-date ?chol-date) 
		   (treatment ?treatment) (done ?done))
  (test (five-years ?chol-date))
  (test (= 0 (str-compare ?done no)))
  (test (= 0 (str-compare ?treatment none)))
=>
  (printout t crlf)
  (printout t "The last cholesterol value for " ?name 
	    " is over 5 years old." crlf)
  (printout t "-------------------------------------------------------"crlf)
  (printout t "|  Please check cholesterol value.                    |" crlf)
  (printout t "-------------------------------------------------------"crlf)
  (modify ?f1 (done yes)))

; rule for box A. All patients without chd  goes to box A
(defrule ruleA "getting to box A"
  ?f1 <- (patient2 (chd ?chd) (done ?done) 
		   (treatment ?treatment) (state ?state))
  (test (= 0 (str-compare ?chd no)))
  (test (= 0 (str-compare ?done no)))
  (test (= 0 (str-compare ?state aa))) ; state
  (test (= 0 (str-compare ?treatment none)))
  =>
  (modify ?f1 (state a)))

; rule for A->B
(defrule A2B "getting to box A"
  ?f1 <- (patient2 (chol ?chol) (done ?done) (state ?state))
  (test (= 0 (str-compare ?done no)))
  (test (= 0 (str-compare ?state a)))
  (test (< ?chol 200))
  =>
  (modify ?f1 (state b)))

; rule for A->C
(defrule A2C "getting to box C"
  ?f1 <- (patient2 (chol ?chol) (done ?done) (state ?state))
  (test (= 0 (str-compare ?done no)))
  (test (= 0 (str-compare ?state a)))
  (test (<= ?chol 239))
  (test (>= ?chol 200))
  =>
  (modify ?f1 (state c)))

; rule for A->D
(defrule A2D "getting to box D"
  ?f1 <- (patient2 (chol ?chol) (done ?done) (state ?state))
  (test (= 0 (str-compare ?done no)))
  (test (= 0 (str-compare ?state a)))
  (test (>= ?chol 240))
  =>
  (modify ?f1 (state d)))

; rule to check for hdl at box B
(defrule check-hdl-at-B
  ?f1 <- (patient2 (name ?name) (done ?done) (state ?state) (hdl ?hdl))
  (test (= 0 (str-compare ?done no)))
  (test (= 0 (str-compare ?state b)))
  (test (= ?hdl -1))
  =>
  (printout t crlf)
  (printout t crlf 
       "Please input patient " ?name "'s hdl value [-1 if no value]" crlf)
  (bind ?answer (read))
  (if (and (numberp ?answer) (> ?answer 0)) then
	  (modify ?f1 (hdl ?answer)) 
   else
       (printout t crlf
		 "-------------------------------------------------------"crlf)
       (printout t "Please obtain hdl test on " ?name crlf)
       (printout t 
		 "-------------------------------------------------------"crlf)
       (modify ?f1 (done yes))))

; rule to check for hdl at box C
(defrule check-hdl-at-C
  ?f1 <- (patient2 (name ?name) (done ?done) (state ?state) (hdl ?hdl))
  (test (= 0 (str-compare ?done no)))
  (test (= 0 (str-compare ?state c)))
  (test (= ?hdl -1))
  =>
  (printout t crlf)
  (printout t 
     "Please input patient " ?name "'s hdl value [-1 if no value]" crlf)
  (bind ?answer (read))
  (if (and (numberp ?answer) (> ?answer 0)) then
	  (modify ?f1 (hdl ?answer))
   else
       (printout t crlf
		 "-------------------------------------------------------"crlf)
       (printout t "Please obtain hdl test on " ?name crlf)
       (printout t 
		 "-------------------------------------------------------"crlf)
       (modify ?f1 (done yes))))

; rule to check the age of the hdl value
(defrule check-hdl-date "date must be within 5 years"
  ?f1 <- (patient2 (name ?name) (hdl-date ?hdl-date) 
		   (done ?done) (state ?state))
  (test (five-years ?hdl-date))
  (test (= 0 (str-compare ?done no)))
=>
  (printout t crlf
		 "-------------------------------------------------------"crlf)
  (printout t "|  The last hdl value for " ?name 
	    " is over 5 years old." crlf)
  (printout t "|  Please check hdl value on " ?name crlf)
  (printout t "-------------------------------------------------------"crlf)
  (modify ?f1 (done yes)))



; rule for box I, see the paper 
; (NAMA, Juen 16, 1993-Vol 269, No. 23, pp 3015-3023)
(defrule B2E2I "Rule for box I"
  ?f1 <- (patient2 (name ?name)
	    (done ?done)
	    (state ?state)
	    (hdl ?hdl))
  (test (= 0 (str-compare ?done no)))
  (test (= 0 (str-compare ?state b)))
  (test (>= ?hdl 35))
  =>
  (printout t crlf "Patient " ?name " needs the following treatement:"crlf)
  (printout t "-------------------------------------------------------"crlf)
  (printout t "| 1. Repeat Total Cholesterol and HDL Cholesterol     |"crlf)
  (printout t "|    Measurement Within 5 Years or With Physical      |"crlf)
  (printout t "|    Education.                                       |"crlf)
  (printout t "| 2. Provide Education on Genral Population Eating    |"crlf)
  (printout t "|    Pattern, Physical Activity, and Risk Factor      |"crlf)
  (printout t "|    Reduction.                                       |"crlf)
  (printout t "-------------------------------------------------------"crlf)
  (modify ?f1 (done yes) (state i)))

; rule going from box B->F->K

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产cao| 色婷婷av久久久久久久| 99久久99久久免费精品蜜臀| 一区在线观看免费| 日本va欧美va欧美va精品| 99国产精品久久久久久久久久 | 精品国产成人系列| 亚洲免费观看视频| 国产成人精品三级麻豆| 91精品在线一区二区| 亚洲精品乱码久久久久久黑人| 国精产品一区一区三区mba桃花| 欧美艳星brazzers| 1000精品久久久久久久久| 国产精品一区二区x88av| 欧美一区二区三区视频| 夜夜精品视频一区二区| 成人免费毛片嘿嘿连载视频| 精品美女一区二区三区| 免费观看成人av| 欧美精选在线播放| 亚洲午夜精品在线| 在线观看av不卡| 亚洲免费在线观看视频| 成人精品国产福利| 国产欧美日产一区| 国产精品456露脸| 久久久精品中文字幕麻豆发布| 蜜臀av一区二区三区| 91精品国产综合久久久蜜臀粉嫩 | 久久精品噜噜噜成人av农村| 欧美视频精品在线观看| 亚洲成人在线免费| 8x福利精品第一导航| 日本视频一区二区| 欧美一激情一区二区三区| 欧美aaa在线| 精品国产a毛片| 国产精品18久久久| 亚洲欧美综合色| 91官网在线观看| 午夜电影网亚洲视频| 日韩网站在线看片你懂的| 激情综合色综合久久| 久久精品一区四区| 9色porny自拍视频一区二区| 亚洲少妇中出一区| 欧美日韩国产大片| 国产一区在线不卡| 亚洲欧美中日韩| 欧美日韩精品三区| 国产做a爰片久久毛片| 国产精品欧美久久久久一区二区| 成人av网站免费| 夜夜爽夜夜爽精品视频| 亚洲蜜臀av乱码久久精品蜜桃| 色综合久久久久网| 日本91福利区| 欧美激情资源网| 欧美在线三级电影| 日本亚洲视频在线| 欧美激情一区在线| 欧美自拍偷拍午夜视频| 麻豆精品一区二区| 国产精品麻豆视频| 欧美一区二区三区视频在线| 成人综合婷婷国产精品久久蜜臀 | 久88久久88久久久| 亚洲视频网在线直播| 91精品国产免费久久综合| 国产成人在线免费观看| 亚洲成人激情自拍| 国产精品嫩草影院av蜜臀| 欧美乱熟臀69xxxxxx| 丁香婷婷综合五月| 天堂成人免费av电影一区| 国产女人18水真多18精品一级做 | 国产日韩亚洲欧美综合| 91久久免费观看| 国产一区二区三区在线看麻豆| 亚洲女子a中天字幕| 久久久久久久电影| 欧美电影在线免费观看| 91啪亚洲精品| 国产黄色精品视频| 麻豆91精品视频| 亚洲aⅴ怡春院| 国产精品久久久久久久久久免费看| 在线综合+亚洲+欧美中文字幕| av一区二区三区四区| 韩国成人在线视频| 午夜精品aaa| 亚洲激情五月婷婷| 中文字幕一区二区三区视频| 久久久久久久综合日本| 日韩午夜电影av| 538在线一区二区精品国产| 在线观看欧美精品| 日本韩国一区二区三区视频| 丰满少妇久久久久久久| 国产精品自在欧美一区| 国内精品伊人久久久久av一坑| 亚洲第一精品在线| 亚洲国产成人精品视频| 一区二区三区在线观看动漫| 自拍偷自拍亚洲精品播放| 欧美国产激情二区三区| 久久精品一区二区三区av| 精品精品国产高清a毛片牛牛 | 精品一区二区三区免费播放| 丝袜a∨在线一区二区三区不卡 | 国产肉丝袜一区二区| 26uuu亚洲综合色欧美| 精品国产乱子伦一区| 精品免费国产一区二区三区四区| 欧美大黄免费观看| 精品国产三级a在线观看| 亚洲精品在线观看网站| 26uuu欧美| 欧美经典一区二区| 亚洲天堂福利av| 一区二区三区精品| 五月婷婷综合激情| 免费成人在线观看视频| 激情综合色综合久久| 国产成人精品免费一区二区| 成人激情午夜影院| 色老汉av一区二区三区| 欧美日韩国产中文| 欧美变态口味重另类| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲色图19p| 婷婷丁香激情综合| 久久机这里只有精品| 国产二区国产一区在线观看| 99riav久久精品riav| 欧美久久一区二区| 国产日韩av一区| 亚洲一区二区三区美女| 毛片不卡一区二区| 国产福利91精品一区| 色悠悠久久综合| 91精品国产一区二区人妖| 国产性天天综合网| 一区二区三区日本| 精品一区二区在线播放| 99riav久久精品riav| 欧美精选一区二区| 国产精品免费视频观看| 日韩国产精品大片| www.av精品| 日韩美女天天操| 亚洲三级久久久| 精品一二三四在线| 在线观看www91| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲第一会所有码转帖| 国产精品一二三四五| 欧美男男青年gay1069videost| 久久亚洲私人国产精品va媚药| 亚洲卡通动漫在线| 国产美女精品在线| 欧美日韩精品综合在线| 国产精品久久久久久久久久久免费看| 天天色综合成人网| 波多野结衣视频一区| 精品少妇一区二区三区| 亚洲午夜久久久久久久久久久| 丰满白嫩尤物一区二区| 欧美成va人片在线观看| 亚洲h动漫在线| 色婷婷香蕉在线一区二区| 国产午夜一区二区三区| 另类人妖一区二区av| 欧美日韩在线播| 国产精品国产三级国产三级人妇| 美女视频黄 久久| 欧美日韩一区国产| 综合网在线视频| 不卡在线观看av| 精品久久久久99| 麻豆精品精品国产自在97香蕉| 2021中文字幕一区亚洲| 日韩精品五月天| 欧美日韩在线一区二区| 亚洲综合区在线| 91色综合久久久久婷婷| 国产欧美日韩卡一| 国产成人av影院| 久久婷婷一区二区三区| 精品综合久久久久久8888| 日韩一卡二卡三卡四卡| 蜜臀99久久精品久久久久久软件| 欧美人妇做爰xxxⅹ性高电影 | 国内精品视频666| 精品国产免费视频| 韩国精品主播一区二区在线观看| 日韩欧美国产1| 国产一区欧美二区| 亚洲国产精品二十页|