diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..15737f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +logbook-standard.code-workspace + diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/README.md b/README.md index 3e67e3b..fcdcc40 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # logbook-standards Standards for Anaesthesia Logbooks +This is an initial draft (17-Oct 2020) of a JSON schema for anaesthetic logbooks. +Created for json-schema.org/draft-07 diff --git a/logbook-record1.json b/logbook-record1.json new file mode 100644 index 0000000..01a8286 --- /dev/null +++ b/logbook-record1.json @@ -0,0 +1,40 @@ +{ + "id": 123456, + "comment": "This is a comment", + "category": { + "id": 0, + "category_type": "Anaesthesia" + }, + "activity_grouping": { + "activity_name": "Theatre List", + "id": 0 + }, + "timing": { + "start": "2020-10-17T13:23:00+00:00", + "end": "2020-10-17T13:45:00+00:00", + "category": "Day" + }, + "actors": [ + {"id": 0,"role": "Patient"}, + {"id": 1,"role": "Performer"}, + {"id": 2,"role": "Supervisor"} + ], + "events": [ + { "id":0, "event_type": "procedure", "event": { + "procedure": { + "category": { + "general anaesthesia": { "induction": "Intravenous", "maintenance": "TIVA/TCI" } + } + } + } + }, + { "id":1, "event_type": "procedure", "event": { + "procedure": { + "category": { + "airway": {"tracheal intubation": "single lumen"} + } + } + } + } + ] +} \ No newline at end of file diff --git a/logbook-schema-encounter.json b/logbook-schema-encounter.json new file mode 100644 index 0000000..a2323fd --- /dev/null +++ b/logbook-schema-encounter.json @@ -0,0 +1,73 @@ +{ + "$id": "http://json-schema.org/draft-7/hyper-schema-output", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Encounter", + "description": "A root encounter for a logbook", + + "type": "object", + "properties": { + "metadata": { + "type": "object", + "properties": { + "setting": { "type": "string", "enum": ["unit or physical location","rotation or training programme","country"]}, + "unique_id": { "type": "integer"}, + "comment": { "type": "string" }, + "version": { "type": "string" }, + "timestamp": { "type": "string", "format": "date-time" } + } + }, + "category": { + "type": "object", + "properties": { + "id": { "type": "integer"}, + "category_type": { "type": "string", "enum": ["Anaesthesia","ICM","Pain","Transfer","Resus"]} + } + }, + "activity_grouping": { + "type": "object", + "properties": { + "activity_name": { "type": "string", "enum": ["Theatre List","Ward Round","Clinic"]}, + "id": { "type": "integer" } + } + }, + "timing": { + "type": "object", + "properties": { + "start": { "type": "string", "format": "date-time" }, + "end": { "type": "string", "format": "date-time" }, + "category": { "type": "string", "enum": ["Day","Evening","Night"]} + } + }, + "actors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": {"type":"integer"}, + "role": {"type": "string", "enum": ["Patient","Performer","Supervisor"]} + } + } + }, + "events": { + "type": "array", + "items": { + "type":"object", + "properties": { + "id": { "type": "integer"}, + "event_type": { "type":"string","enum": ["procedure","teaching","simulation"]}, + "event": { + "type":"object", + "properties": { + "procedure": { "$ref": "logbook-schema-procedure.json"}, + "surgical procedure": { "type":"object"}, + "teaching": { "type": "string"}, + "simulation": { "type": "string"} + } + } + } + } + + } + + } +} \ No newline at end of file diff --git a/logbook-schema-procedure.json b/logbook-schema-procedure.json new file mode 100644 index 0000000..c25a0e5 --- /dev/null +++ b/logbook-schema-procedure.json @@ -0,0 +1,31 @@ +{ + "$id": "http://json-schema.org/draft-7/hyper-schema-output", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "A sub-schema of logbook-schema-encounter.json, for procedures", + + "type": "object", + "properties": { + "category": { + "type": "object", + "properties": { + "airway": { + "type": "object", + "properties": { + "tracheal intubation": {"type": "string", "enum":["single lumen","double lumen","fibreoptic","awake fibreoptic","other"]}, + "lma placement": { "type": "string", "enum":["standard","supreme","iGel","other"]} + }, + "lines": { "type": "object"}, + "regional blocks": { "type": "object" }, + "general anaesthesia": { + "type": "object", + "properties": { + "induction": { "type": "string", "enum": ["Inhalation", "Intravenous"]}, + "maintenance": { "type": "string", "enum": ["Inhalational Agent","TIVA/TCI","TIVA/Other"]} + } + } + } + + } +} +} +} \ No newline at end of file