summaryrefslogtreecommitdiff
path: root/ksh-scan2.el
diff options
context:
space:
mode:
Diffstat (limited to 'ksh-scan2.el')
-rw-r--r--ksh-scan2.el239
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)))))