From b3484b533476aa6d6263775b7a79670bc9eec70e Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 21 Dec 2016 02:21:54 +0530 Subject: Initial commit --- ksh-scan2.el | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 ksh-scan2.el (limited to 'ksh-scan2.el') diff --git a/ksh-scan2.el b/ksh-scan2.el new file mode 100644 index 0000000..75f3ae4 --- /dev/null +++ b/ksh-scan2.el @@ -0,0 +1,177 @@ +;; -*- lexical-binding: t -*- + +(load "ksh-forms-improved.el") +(load "ksh-report-header.el") +(load "ksh-biometry.el") + +;; Datafile path and fields +(setq forms-file (expand-file-name "scan2.dat" ksh-data-path)) +(setq forms-number-of-fields + (forms-enumerate + '(ip-op-no patient-name age sex visit-date lmp-date lmp-edd + scan + maternal-cervix maternal-internal-os + survey-presentation survey-placenta survey-liquor + survey-umbilical-cord survey-fetal-activity survey-cardiac-activity + biometry-bpd biometry-bpd-age biometry-bpd-percentile + biometry-hc biometry-hc-age biometry-hc-percentile + biometry-ac biometry-ac-age biometry-ac-percentile + biometry-fl biometry-fl-age biometry-fl-percentile + biometry-fetal-weight + extended-foot-length extended-tcd + anatomy-intracranial anatomy-neck anatomy-spine + anatomy-face anatomy-lungs anatomy-heart + anatomy-abdominal-situs anatomy-kidneys-bladder + anatomy-long-bones + impression-gestational-age impression-menstrual-age + impression-corrected-edd impression-notes + sonologist))) + +;; Default values for fields +(setq default-field-values + `((,sex . "F") + (,survey-presentation . "cephalic") + (,survey-placenta . "posterior") + (,survey-liquor . "normal") + (,survey-fetal-activity . "present") + (,survey-cardiac-activity . "present") + (,anatomy-intracranial . "normal") + (,anatomy-neck . "normal. No evidence of significant open neural tube defect") + (,anatomy-spine . "normal") + (,anatomy-face . "normal") + (,anatomy-lungs . "normal") + (,anatomy-heart . "normal") + (,anatomy-abdominal-situs . "normal") + (,anatomy-kidneys-bladder . "normal") + (,anatomy-long-bones . "normal for the period of gestation") + (,sonologist . "Dr. Bala Bharathy"))) + +;; Format specification for form display +(setq forms-format-list + (append + (list "Trimester 2 - Scan Report\n\n") + (form-entries + '(("IP/OP No" . ip-op-no) + ("Patient Name" . patient-name) + ("Age" . age) + ("Sex" . sex) + ("Visit Date" . visit-date) + ("LMP Date" . lmp-date) + ("LMP EDD" . lmp-edd))) + (list "Indications\n" "Growth Scan\n" + "Real time B-mode ultrasonography of gravid uterus done.\n" + "Route: Transabdominal\n" scan "\n\n") + (list "Maternal\n") + (form-entries + '(("Cervix" . maternal-cervix) + ("Internal os" . maternal-internal-os))) + (list "Fetal Survey\n") + (form-entries + '(("Presentation" . survey-presentation) + ("Placenta" . survey-placenta) + ("Liquor" . survey-liquor) + ("Umbilical cord" . survey-umbilical-cord) + ("Fetal activity" . survey-fetal-activity) + ("Cardiac activity" . survey-cardiac-activity))) + (list "Fetal Biometry\n") + (form-entries + '(("BPD" . biometry-bpd) + ("BPD-Age" . biometry-bpd-age) + ("BPD-Percentile" . biometry-bpd-percentile) + ("HC" . biometry-hc) + ("HC-Age" . biometry-hc-age) + ("HC-Percentile" . biometry-hc-percentile) + ("AC" . biometry-ac) + ("AC-Age" . biometry-ac-age) + ("AC-Percentile" . biometry-ac-percentile) + ("FL" . biometry-fl) + ("FL-Age" . biometry-fl-age) + ("FL-Percentile" . biometry-fl-percentile) + ("Estimated fetal weight according to BPD, HC, AC, FL" . biometry-fetal-weight))) + (list "Extended Biometry\n") + (form-entries + '(("Foot Length" . extended-foot-length) + ("TCD" . extended-tcd))) + (list "Fetal Anatomy\n") + (form-entries + '(("Intracranial structures" . anatomy-intracranial) + ("Neck" . anatomy-neck) + ("Spine" . anatomy-spine) + ("Fetal face" . anatomy-face) + ("Both lungs" . anatomy-lungs) + ("Heart" . anatomy-heart) + ("Abdominal situs" . anatomy-abdominal-situs) + ("Both kidneys and bladder" . anatomy-kidneys-bladder) + ("All long bones" . anatomy-long-bones))) + (list "Impression\n") + (form-entries + '(("Gestational age" . impression-gestational-age) + ("Menstrual age" . impression-menstrual-age) + ("Corrected EDD" . impression-corrected-edd) + ("Notes" . impression-notes) + ("Sonologist" . sonologist))))) + +(setq form-to-org + (lambda () + (with-output-to-string + (make-report-header "OB - 2/3 TRIMESTER SCAN REPORT") + (single-line-org-entries + `(("IP/OP No" . ,ip-op-no) + ("Age" . ,age) + ("Sex" . ,sex) + ("Name of Patient" . ,patient-name) + ("Visit Date" . ,visit-date) + ("LMP Date" . ,lmp-date) + ("LMP EDD" . ,lmp-edd))) + (mapc 'princ `("* Indications\n" "** Target Scan\n" + "Real time B-mode ultrasonography of gravid uterus done.\n\n")) + (single-line-org-entries + `(("Route" . "Transabdominal"))) + (princ (get-field scan)) + (princ "\n\n* Maternal\n") + (single-line-org-entries + `(("Cervix" . ,maternal-cervix) + ("Internal os" . ,maternal-internal-os))) + (princ "* Fetal Survey\n") + (single-line-org-entries + `(("Presentation" . ,survey-presentation) + ("Placenta" . ,survey-placenta) + ("Liquor" . ,survey-liquor) + ("Umbilical cord" . ,survey-umbilical-cord) + ("Fetal activity" . ,survey-fetal-activity) + ("Cardiac activity" . ,survey-cardiac-activity))) + (princ "* Fetal Biometry\n") + (insert-biometry + `(("BPD" ,biometry-bpd ,biometry-bpd-age ,biometry-bpd-percentile) + ("HC" ,biometry-hc ,biometry-hc-age ,biometry-hc-percentile) + ("AC" ,biometry-ac ,biometry-ac-age ,biometry-ac-percentile) + ("FL" ,biometry-fl ,biometry-fl-age ,biometry-fl-percentile))) + (princ "* Extended Biometry\n") + (single-line-org-entries + `(("Foot Length" . ,extended-foot-length) + ("TCD" . ,extended-tcd))) + (princ "* Fetal Anatomy\n") + (single-line-org-entries + `(("Intracranial structures" . ,anatomy-intracranial) + ("Neck" . ,anatomy-neck) + ("Spine" . ,anatomy-spine) + ("Fetal face" . ,anatomy-face) + ("Both lungs" . ,anatomy-lungs) + ("Heart" . ,anatomy-heart) + ("Abdominal situs" . ,anatomy-abdominal-situs) + ("Both kidneys and bladder" . ,anatomy-kidneys-bladder) + ("All long bones" . ,anatomy-long-bones))) + (princ "* Impression\n") + (princ (format "%s corresponding to a gestational age of %s\n\n" + (get-field scan) (get-field impression-gestational-age))) + (princ "Gestational age assigned as per biometry (CRL)\n\n") + (single-line-org-entries + `(("Menstrual age" . ,impression-menstrual-age) + ("Corrected EDD" . ,impression-corrected-edd) + ("Placenta" . ,survey-placenta) + ("Presentation" . ,survey-presentation) + ("Liquor" . ,survey-liquor) + ("Estimated fetal weight according to BPD, HC, AC, FL" . ,biometry-fetal-weight))) + (text-if-non-blank (get-field impression-notes)) + (multi-line-org-entries + `(("Sonologist" . ,sonologist)))))) -- cgit v1.2.3