diff options
Diffstat (limited to 'ksh-scan2.el')
-rw-r--r-- | ksh-scan2.el | 239 |
1 files changed, 120 insertions, 119 deletions
diff --git a/ksh-scan2.el b/ksh-scan2.el index 2587a0f..0e8c410 100644 --- a/ksh-scan2.el +++ b/ksh-scan2.el @@ -7,168 +7,169 @@ (setq forms-file (expand-file-name "data/scan2.dat" ksh-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))) + (list 'ksh-scan2-ip-op-no 'ksh-scan2-patient-name 'ksh-scan2-age 'ksh-scan2-sex + 'ksh-scan2-visit-date 'ksh-scan2-lmp-date 'ksh-scan2-lmp-edd + 'ksh-scan2-scan + 'ksh-scan2-maternal-cervix 'ksh-scan2-maternal-internal-os + 'ksh-scan2-survey-presentation 'ksh-scan2-survey-placenta 'ksh-scan2-survey-liquor + 'ksh-scan2-survey-umbilical-cord 'ksh-scan2-survey-fetal-activity 'ksh-scan2-survey-cardiac-activity + 'ksh-scan2-biometry-bpd 'ksh-scan2-biometry-bpd-age 'ksh-scan2-biometry-bpd-percentile + 'ksh-scan2-biometry-hc 'ksh-scan2-biometry-hc-age 'ksh-scan2-biometry-hc-percentile + 'ksh-scan2-biometry-ac 'ksh-scan2-biometry-ac-age 'ksh-scan2-biometry-ac-percentile + 'ksh-scan2-biometry-fl 'ksh-scan2-biometry-fl-age 'ksh-scan2-biometry-fl-percentile + 'ksh-scan2-biometry-fetal-weight + 'ksh-scan2-extended-foot-length 'ksh-scan2-extended-tcd + 'ksh-scan2-anatomy-intracranial 'ksh-scan2-anatomy-neck 'ksh-scan2-anatomy-spine + 'ksh-scan2-anatomy-face 'ksh-scan2-anatomy-lungs 'ksh-scan2-anatomy-heart + 'ksh-scan2-anatomy-abdominal-situs 'ksh-scan2-anatomy-kidneys-bladder + 'ksh-scan2-anatomy-long-bones + 'ksh-scan2-impression-gestational-age 'ksh-scan2-impression-menstrual-age + 'ksh-scan2-impression-corrected-edd 'ksh-scan2-impression-notes + 'ksh-scan2-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"))) + `((,ksh-scan2-sex . "F") + (,ksh-scan2-survey-presentation . "cephalic") + (,ksh-scan2-survey-placenta . "posterior") + (,ksh-scan2-survey-liquor . "normal") + (,ksh-scan2-survey-fetal-activity . "present") + (,ksh-scan2-survey-cardiac-activity . "present") + (,ksh-scan2-anatomy-intracranial . "normal") + (,ksh-scan2-anatomy-neck . "normal. No evidence of significant open neural tube defect") + (,ksh-scan2-anatomy-spine . "normal") + (,ksh-scan2-anatomy-face . "normal") + (,ksh-scan2-anatomy-lungs . "normal") + (,ksh-scan2-anatomy-heart . "normal") + (,ksh-scan2-anatomy-abdominal-situs . "normal") + (,ksh-scan2-anatomy-kidneys-bladder . "normal") + (,ksh-scan2-anatomy-long-bones . "normal for the period of gestation") + (,ksh-scan2-sonologist . "Dr. Bala Bharathy"))) ;; Format specification for form display (setq forms-format-list (append (list "Trimester 2 - Scan Report\n\n") (seq-mapcat 'form-entry - '(("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))) + '(("IP/OP No" . ksh-scan2-ip-op-no) + ("Patient Name" . ksh-scan2-patient-name) + ("Age" . ksh-scan2-age) + ("Sex" . ksh-scan2-sex) + ("Visit Date" . ksh-scan2-visit-date) + ("LMP Date" . ksh-scan2-lmp-date) + ("LMP EDD" . ksh-scan2-lmp-edd))) (list "Indications\n" "Target Scan\n" "Real time B-mode ultrasonography of gravid uterus done.\n" - "Route: Transabdominal\n" scan "\n\n") + "Route: Transabdominal\n" ksh-scan2-scan "\n\n") (list "Maternal\n") (seq-mapcat 'form-entry - '(("Cervix" . maternal-cervix) - ("Internal os" . maternal-internal-os))) + '(("Cervix" . ksh-scan2-maternal-cervix) + ("Internal os" . ksh-scan2-maternal-internal-os))) (list "Fetal Survey\n") (seq-mapcat 'form-entry - '(("Presentation" . survey-presentation) - ("Placenta" . survey-placenta) - ("Liquor" . survey-liquor) - ("Umbilical cord" . survey-umbilical-cord) - ("Fetal activity" . survey-fetal-activity) - ("Cardiac activity" . survey-cardiac-activity))) + '(("Presentation" . ksh-scan2-survey-presentation) + ("Placenta" . ksh-scan2-survey-placenta) + ("Liquor" . ksh-scan2-survey-liquor) + ("Umbilical cord" . ksh-scan2-survey-umbilical-cord) + ("Fetal activity" . ksh-scan2-survey-fetal-activity) + ("Cardiac activity" . ksh-scan2-survey-cardiac-activity))) (list "Fetal Biometry\n") (seq-mapcat 'form-entry - '(("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))) + '(("BPD" . ksh-scan2-biometry-bpd) + ("BPD-Age" . ksh-scan2-biometry-bpd-age) + ("BPD-Percentile" . ksh-scan2-biometry-bpd-percentile) + ("HC" . ksh-scan2-biometry-hc) + ("HC-Age" . ksh-scan2-biometry-hc-age) + ("HC-Percentile" . ksh-scan2-biometry-hc-percentile) + ("AC" . ksh-scan2-biometry-ac) + ("AC-Age" . ksh-scan2-biometry-ac-age) + ("AC-Percentile" . ksh-scan2-biometry-ac-percentile) + ("FL" . ksh-scan2-biometry-fl) + ("FL-Age" . ksh-scan2-biometry-fl-age) + ("FL-Percentile" . ksh-scan2-biometry-fl-percentile) + ("Estimated fetal weight according to BPD, HC, AC, FL" . ksh-scan2-biometry-fetal-weight))) (list "Extended Biometry\n") (seq-mapcat 'form-entry - '(("Foot Length" . extended-foot-length) - ("TCD" . extended-tcd))) + '(("Foot Length" . ksh-scan2-extended-foot-length) + ("TCD" . ksh-scan2-extended-tcd))) (list "Fetal Anatomy\n") (seq-mapcat 'form-entry - '(("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))) + '(("Intracranial structures" . ksh-scan2-anatomy-intracranial) + ("Neck" . ksh-scan2-anatomy-neck) + ("Spine" . ksh-scan2-anatomy-spine) + ("Fetal face" . ksh-scan2-anatomy-face) + ("Both lungs" . ksh-scan2-anatomy-lungs) + ("Heart" . ksh-scan2-anatomy-heart) + ("Abdominal situs" . ksh-scan2-anatomy-abdominal-situs) + ("Both kidneys and bladder" . ksh-scan2-anatomy-kidneys-bladder) + ("All long bones" . ksh-scan2-anatomy-long-bones))) (list "Impression\n") (seq-mapcat 'form-entry - '(("Gestational age" . impression-gestational-age) - ("Menstrual age" . impression-menstrual-age) - ("Corrected EDD" . impression-corrected-edd) - ("Notes" . impression-notes) - ("Sonologist" . sonologist))))) + '(("Gestational age" . ksh-scan2-impression-gestational-age) + ("Menstrual age" . ksh-scan2-impression-menstrual-age) + ("Corrected EDD" . ksh-scan2-impression-corrected-edd) + ("Notes" . ksh-scan2-impression-notes) + ("Sonologist" . ksh-scan2-sonologist))))) (setq form-to-org (lambda () (with-output-to-string (make-report-header "OB - 2/3 TRIMESTER SCAN REPORT") (seq-do 'single-line-org-entry - `(("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))) + `(("IP/OP No" . ,ksh-scan2-ip-op-no) + ("Age" . ,ksh-scan2-age) + ("Sex" . ,ksh-scan2-sex) + ("Name of Patient" . ,ksh-scan2-patient-name) + ("Visit Date" . ,ksh-scan2-visit-date) + ("LMP Date" . ,ksh-scan2-lmp-date) + ("LMP EDD" . ,ksh-scan2-lmp-edd))) (mapc 'princ `("* Indications\n" "** Target Scan\n" "Real time B-mode ultrasonography of gravid uterus done.\n\n")) (single-line-org-entry '("Route" . "Transabdominal")) - (princ (get-field scan)) + (princ (get-field ksh-scan2-scan)) (princ "\n\n* Maternal\n") (seq-do 'single-line-org-entry - `(("Cervix" . ,maternal-cervix) - ("Internal os" . ,maternal-internal-os))) + `(("Cervix" . ,ksh-scan2-maternal-cervix) + ("Internal os" . ,ksh-scan2-maternal-internal-os))) (princ "* Fetal Survey\n") (seq-do 'single-line-org-entry - `(("Presentation" . ,survey-presentation) - ("Placenta" . ,survey-placenta) - ("Liquor" . ,survey-liquor) - ("Umbilical cord" . ,survey-umbilical-cord) - ("Fetal activity" . ,survey-fetal-activity) - ("Cardiac activity" . ,survey-cardiac-activity))) + `(("Presentation" . ,ksh-scan2-survey-presentation) + ("Placenta" . ,ksh-scan2-survey-placenta) + ("Liquor" . ,ksh-scan2-survey-liquor) + ("Umbilical cord" . ,ksh-scan2-survey-umbilical-cord) + ("Fetal activity" . ,ksh-scan2-survey-fetal-activity) + ("Cardiac activity" . ,ksh-scan2-survey-cardiac-activity))) (insert-biometry "Fetal 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))) + `(("BPD" ,ksh-scan2-biometry-bpd ,ksh-scan2-biometry-bpd-age ,ksh-scan2-biometry-bpd-percentile) + ("HC" ,ksh-scan2-biometry-hc ,ksh-scan2-biometry-hc-age ,ksh-scan2-biometry-hc-percentile) + ("AC" ,ksh-scan2-biometry-ac ,ksh-scan2-biometry-ac-age ,ksh-scan2-biometry-ac-percentile) + ("FL" ,ksh-scan2-biometry-fl ,ksh-scan2-biometry-fl-age ,ksh-scan2-biometry-fl-percentile))) (princ "* Extended Biometry\n") (seq-do 'single-line-org-entry - `(("Foot Length" . ,extended-foot-length) - ("TCD" . ,extended-tcd))) + `(("Foot Length" . ,ksh-scan2-extended-foot-length) + ("TCD" . ,ksh-scan2-extended-tcd))) (princ "* Fetal Anatomy\n") (seq-do 'single-line-org-entry - `(("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))) + `(("Intracranial structures" . ,ksh-scan2-anatomy-intracranial) + ("Neck" . ,ksh-scan2-anatomy-neck) + ("Spine" . ,ksh-scan2-anatomy-spine) + ("Fetal face" . ,ksh-scan2-anatomy-face) + ("Both lungs" . ,ksh-scan2-anatomy-lungs) + ("Heart" . ,ksh-scan2-anatomy-heart) + ("Abdominal situs" . ,ksh-scan2-anatomy-abdominal-situs) + ("Both kidneys and bladder" . ,ksh-scan2-anatomy-kidneys-bladder) + ("All long bones" . ,ksh-scan2-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))) + (get-field ksh-scan2-scan) (get-field ksh-scan2-impression-gestational-age))) (princ "Gestational age assigned as per biometry (CRL)\n\n") (seq-do 'single-line-org-entry - `(("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-entry `("Sonologist" . ,sonologist))))) + `(("Menstrual age" . ,ksh-scan2-impression-menstrual-age) + ("Corrected EDD" . ,ksh-scan2-impression-corrected-edd) + ("Placenta" . ,ksh-scan2-survey-placenta) + ("Presentation" . ,ksh-scan2-survey-presentation) + ("Liquor" . ,ksh-scan2-survey-liquor) + ("Estimated fetal weight according to BPD,ksh-scan2- HC,ksh-scan2- AC,ksh-scan2- FL" . ,ksh-scan2-biometry-fetal-weight))) + (text-if-non-blank (get-field ksh-scan2-impression-notes)) + (multi-line-org-entry `("Sonologist" . ,ksh-scan2-sonologist))))) |