Skip to content

Instantly share code, notes, and snippets.

@dpsutton
Last active August 23, 2018 19:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dpsutton/0e8eb5b1795e8e1c3de76b067e95a7cc to your computer and use it in GitHub Desktop.
Save dpsutton/0e8eb5b1795e8e1c3de76b067e95a7cc to your computer and use it in GitHub Desktop.
(define (atom? x) (not (pair? x)))
(define wrong 'wait)
(define the-false-value (cons "false" "boolean"))
(define (evaluate e env)
(if (atom? e)
(cond ((symbol? e) (lookup e env))
((or (number? e) (string? e) (char? e) (boolean? e) (vector? e))
e)
(else (wrong "Cannot evaluate" e)))
(case (car e)
((quote) (cadr e))
((if) (if (not (eq? (evaluate (cadr e) env) the-false-value))
(evaluate (caddr e) env)
(evaluate (cadddr e) env)))
((begin) (eprogn (cdr e) env))
((set!) (update! (cadr e) env (evaluate (caddr e) env)))
((lambda) (make-function (cadr e) (cddr e) env))
(else (invoke (evaluate (car e) env)
(evlis (cdr e) env))))))
(define (eprogn exps env)
(if (pair? exps)
(if (pair? (cdr exps))
(begin (evaluate (car exps) env)
(eprogn (cdr exps) env))
(evaluate (car exps) env))
empty-begin))
(define (evlis exps env)
(if (pair? exps)
(cons (evaluate (car exps) env)
(evlis (cdr exps) env))
'()))
(define empty-begin 813)
(ns breeze.mast.repl
(:require breeze.mast.application
[datomic.api :refer (q db) :as d]
clojure.tools.namespace.repl
[clojure.java.shell :refer [sh]]))
(def repl-default-options
{})
(defonce server nil)
(def rules-engine-ip
(let [ip (-> (sh "hostname" "-I") :out (clojure.string/split #" ") first)]
(str "http://" ip ":8084")))
(def dev-options {"breeze.ehr.services.config-url" "file:../service-config-dev.edn"
"breeze.ehr.services.account-service-key" "accounts"
"breeze.ehr.session.cookie-attrs.secure" "false"
"breeze.ehr.session.cookie-name" "mast-ec"
"breeze.ehr.session.store.impl" "encrypted-cookie"
"breeze.ehr.session.store.encrypted-cookie.key" "00000000000000000000000000000000"
"breeze.ehr.rule-engine.listener" rules-engine-ip
"breeze.ehr.goog.app-name" "mast-dev"
"breeze.ehr.goog.service-account-id" "local-development@breeze-ehr.breezeehr.com.iam.gserviceaccount.com"
"breeze.ehr.goog.p12-file" "dev-resources/Breeze-EHR_local-development_a3f4668ebdc0.p12"
"breeze.ehr.goog.document-uploads?" "true"
"breeze.ehr.rule-engine.do-receive" "true"
"breeze.ehr.http.send-stacktrace?" "true"})
(def remote-dev-options {"breeze.ehr.services.config-url" "file:../service-config-dev-ext.edn"
"breeze.ehr.services.account-service-key" "accounts"
"breeze.ehr.session.cookie-attrs.secure" "false"
"breeze.ehr.session.cookie-name" "mast-ec"
"breeze.ehr.session.store.impl" "encrypted-cookie"
"breeze.ehr.session.store.encrypted-cookie.key" "00000000000000000000000000000000"
"breeze.ehr.rule-engine.listener" "http://127.0.0.2:30009"
"breeze.ehr.goog.app-name" "mast-dev"
"breeze.ehr.goog.service-account-id" "local-development@breeze-ehr.breezeehr.com.iam.gserviceaccount.com"
"breeze.ehr.goog.p12-file" "dev-resources/Breeze-EHR_local-development_a3f4668ebdc0.p12"
"breeze.ehr.goog.document-uploads?" "true"
"breeze.ehr.rule-engine.do-receive" "true"
"breeze.ehr.http.send-stacktrace?" "true"})
(defn init
([] (init {}))
([options]
(alter-var-root #'server
(fn [_]
(-> (into dev-options [(System/getenv) options])
breeze.mast.application/create)))))
(defn start-server
([] (start-server {}))
([options]
(init options)
(alter-var-root #'server breeze.mast.application/start)
(println "HTTP server started.")))
(defn stop-server []
(alter-var-root #'server #(when % (breeze.mast.application/stop %)))
(println "HTTP server stopped."))
(defn restart-server
([] (restart-server {}))
([options]
(stop-server)
(clojure.tools.namespace.repl/refresh :after 'breeze.mast.repl/start-server)))
(comment
(def ids {"36ca6585-b74f-5370-a424-8574d5e82cc5-service" 17592187959737,
"89241c56-98b0-577f-9660-a39aa05c10f4" 17592187959742,
"73cba8ea-b5ef-5785-843d-2e74ff6e2a81" 17592187959764,
"8917dff4-83f5-5668-ab30-a3431ce7dbcf" 17592187959748,
"a4dc67a2-53d2-5637-843b-6d64d24c71e9-service" 17592187959759,
"04aa47f0-8c09-543c-8fc2-b9cca66a58b8-service" 17592187959763,
"04aa47f0-8c09-543c-8fc2-b9cca66a58b8" 17592187959762,
"9d1b27c3-3a31-53f2-a7ad-15fbcf75e489-service" 17592187959731,
"47310433-bffe-5341-8732-2cf71da74a56" 17592187959752,
"9d1b27c3-3a31-53f2-a7ad-15fbcf75e489" 17592187959730,
"f1ef61ed-731c-5a74-92e2-d67b72846ac5-service" 17592187959745,
"c4ca45ee-797f-5f6c-9548-7023d8765da2" 17592187959734,
"bf5313fd-9f7c-55f9-aa78-35ae67857a14-service" 17592187959767,
"40cdcb8b-c07a-5f19-97b3-4c9c9789a26e-service" 17592187959727,
"27973d14-d918-5d6d-b19b-cfd57bc934f2-service" 17592187959769,
"c999b18d-dfad-5349-8f5a-f773787fa096-service" 17592187959729,
"b51ea781-9702-5948-99a7-634a90d83ad2-service" 17592187959751,
"6a9efaed-fb26-55dc-a763-b3efbad85ab3" 17592187959746,
"6a9efaed-fb26-55dc-a763-b3efbad85ab3-service" 17592187959747,
"89241c56-98b0-577f-9660-a39aa05c10f4-service" 17592187959743,
"f1ef61ed-731c-5a74-92e2-d67b72846ac5" 17592187959744,
"b039ea39-ac31-5caf-9816-ca49023b5587-service" 17592187959761,
"a3b1953f-ce79-5194-82df-ccbc4f9278c2" 17592187959754,
"b51ea781-9702-5948-99a7-634a90d83ad2" 17592187959750,
"4da8b730-0ef9-5b83-a95d-4ecbf1d2d8fd" 17592187959738,
"c3e9a18e-ef6f-5fc0-8ca7-5e4ebdb3fdc3-service" 17592187959733,
"c999b18d-dfad-5349-8f5a-f773787fa096" 17592187959728,
"c4ca45ee-797f-5f6c-9548-7023d8765da2-service" 17592187959735,
"a4dc67a2-53d2-5637-843b-6d64d24c71e9" 17592187959758,
"bf5313fd-9f7c-55f9-aa78-35ae67857a14" 17592187959766,
"b5011e25-d193-53e8-b677-78ffebce9ad7-service" 17592187959741,
"47310433-bffe-5341-8732-2cf71da74a56-service" 17592187959753,
"a3b1953f-ce79-5194-82df-ccbc4f9278c2-service" 17592187959755,
"239c013e-d002-5547-a762-c31bf73ae637-service" 17592187959757,
"c3e9a18e-ef6f-5fc0-8ca7-5e4ebdb3fdc3" 17592187959732,
"73cba8ea-b5ef-5785-843d-2e74ff6e2a81-service" 17592187959765,
"b039ea39-ac31-5caf-9816-ca49023b5587" 17592187959760,
"c5466725-76d5-5ae0-9087-ccadaecd6f68-service" 17592187959725,
"36ca6585-b74f-5370-a424-8574d5e82cc5" 17592187959736,
"239c013e-d002-5547-a762-c31bf73ae637" 17592187959756,
"27973d14-d918-5d6d-b19b-cfd57bc934f2" 17592187959768,
"8917dff4-83f5-5668-ab30-a3431ce7dbcf-service" 17592187959749,
"b5011e25-d193-53e8-b677-78ffebce9ad7" 17592187959740,
"c5466725-76d5-5ae0-9087-ccadaecd6f68" 17592187959724,
"40cdcb8b-c07a-5f19-97b3-4c9c9789a26e" 17592187959726,
"4da8b730-0ef9-5b83-a95d-4ecbf1d2d8fd-service" 17592187959739})
(require '[clojure.string :as str])
(->> ids
(filter (fn [[k id]]
(not (str/ends-with? k "service"))))
(map (comp what second))
(group-by (fn [cci] (-> cci :breeze.ClaimChargeItem/claim :db/id)))
(map (fn [[k v]] [k (count v)]))
(into {}))
(what 17592187756543)
(what 17592186404421)
#_(d/q '[:find [(pull ?e [*]) ...]
:where
[? :test.value/code-ref \"LNC/71392-5\"]])
(d/q '[:find [(pull ?charge-item [:db/id
:breeze.ClaimChargeItem/service-start-day
:breeze.ClaimChargeItem/service-end-day
{:breeze.ClaimChargeItem/service [:db/id :fhir.CodeableConcept/text :breeze.CodeableConcept/primary]}
:breeze.ClaimChargeItem/unit-fee
:breeze.ClaimChargeItem/units
{:breeze.ClaimChargeItem/claim [:db/id :fhir.Resource/id :phi.element/type
{:fhir.List/subject [{:fhir.Patient/name [:db/id
:fhir.HumanName/text
:fhir.HumanName/given
:fhir.HumanName/family
:fhir.HumanName/use
:fhir.HumanName/use$cr]}]}
:fhir.List/identifier$id]}
:breeze.ClaimChargeItem/key]) ...]
:in $ ?claim-number
:where
[?claim :fhir.List/identifier$id ?claim-number]
[?charge-item :breeze.ClaimChargeItem/claim ?claim]]
(d/db phi)
(str "edi.List.ControlNumber/45"))
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment