Skip to content

Instantly share code, notes, and snippets.

View niquola's full-sized avatar

Nikolai Ryzhikov niquola

View GitHub Profile
@niquola
niquola / 1_index.md
Last active February 20, 2025 15:56
Semver based Canonical Resolution and Package management

FHIR Canonical Resources and Packages (AI Draft)

1. Introduction

This specification defines how FHIR canonical resources and packages are:

  1. Authored (i.e., created and maintained in Implementation Guides (IGs))
  2. Assembled (Configured) into final systems by users
  3. Executed (Runtime) to provide functionality

Suggest an algorithm to turn linear structures like this

[ {path: 'a', value: 'k'}, {path: 'b', value: 'l'}, {path: 'b.c', value: 'm'}, {path: 'd', value: 'n')]

list of path and value objects into a nested data-structure like this:

{ elements: { a: {value: 'k'}, b: {value: 'l', elements: {c: {value: 'm'}}, d: {value: 'n'}}
grammar fhirpathmini;
path : expr EOF ;
expr : expr AMPERSAND expr # concatexpr
| chain # chainexpr
;
chain : ( variable | element ) (DOT ( element | funcall | where ) | index)*;
variable : VARIABLE ;
grammar fhirpathmin;
expression
: expression '.' expression #chain
| expression '[' int ']' #index
| FIRST #first
| WHERE predicate ')' #where
| element #term
;

SQL on FHIR 2.0

Motivation

Relational databases got native json support! We can liverage it to impliment SQL on FHIR.

hardware & os

  • dotfiles?
  • terminal & shell
  • editor
  • env setup - dbs, etc
  • how do you start you REPL?
  • deps or leningen?
  • new project template?
  • tasks automation - babashka?
  • how do you navigate in project?

Код, данные, модели и Сlojure

Философский этюд

Jocker 2022

Николай Рыжиков @niquola

CTO at Health Samurai @niquola - github, telegram, twitter

@niquola
niquola / hl.clj
Last active April 15, 2022 22:40
(ns hl
(:require [clojure.string :as str]
;; https://github.com/HealthSamurai/macrocss
[stylo.core :refer [c]]
[rewrite-clj.parser :as p]))
(declare node->html)
(def p (c [:text :gray-500]))
(def key-c (c [:text :green-400]))