type: object required: - when - soap - text properties: icpc: description: |- *OPTIONAL* An ICPC1.1-NL code representing the nature of this journal note. Does not necessarily mean the patient suffers from the condition this ICPC represents. For example, a patient that comes in asking questions about signs of Diabetes would have journal text with ICPC `"T90.02"`, even if tests show they clearly do not have Diabetes Mellitus. Not all journal texts have a context, or a context that can be expressed as an ICPC. type: string pattern: '^[A-Z]\d{2}.\d{2}$' example: "A97.00" episode: description: |- *OPTIONAL* An ICPC1.1-NL code representing the problem / chronic illness that this journal note has been filed under. In our experience the difference between `icpc` and `episode` are not well demarkated and practicioners do not necessarily use these fields for their intended purpose. We suggest making no distinction between these 2 fields and accepting instead that this means journal text can have up to 2 ICPCs associated with them. type: string pattern: '^[A-Z]\d{2}\.\d{2}$' example: "T90.02" when: description: |- The date when this journal text was typed and registered. type: string format: date example: "2015-05-01" text: description: |- The journal text as typed by the practicioner. Can, obviously, be quite long, and can contain newlines. type: string soap: description: |- Most medical systems separate journal text using the SOAP system (dutch: _SOEP_): * `S`: Subjective (dutch: _Subjectief_) - A (transcription of the) description of the medical issue by the patient themselves * `O`: Objective (dutch: _Objectief_) - The description of the medical issue as observed by a trained medical practicioner * `A`: Analysis (dutch: _Evaluatie_) - The diagnosis. * `P`: Plan (dutch: _Plan_) - The course of action to take, or notes about next steps to deal with the issue raised in this journal entry. * `X`: Unknown - this text does not fit any of the 4 SOAP categories, or this represents journal text not written using the SOAP system. Any of these can be missing. For example, for tele-health various practices have internal policy to leave Objective blank, especially if no video or pictures are made, because no medical professional is on hand to make an objective report about the stated issues. Often newlines appear in weird places, or newlines are not conveyed even if typed by the practicioner; these are limitations in the source system. type: string enum: - S - O - A - P - X example: S practicioner: $ref: 'Practicioner.yaml' type: description: |- A code representing of the style of consult: * N - note, generally made without the presence of the patient, for example to register that some lab value was received by mail. * C - journal was registered as part of a consult (the patient was present). * V - journal was registered during a visit to the patient's location. * CT - journal was registered during a phone or other tele-consult. * Other codes exist; depends on source system. type: string example: C code: description: |- *OPTIONAL* If present, a short code representing a specific kind of action, such as a referral (`VER` - from dutch _Verwijzing_), `H` for medication recipe refill (dutch: _Herhaalrecept_), `REC` for prescribing a recipe, `LAB` for processing laboratory results, or `BVO` for a nationally organized checkup such as for Cervical Cancer (from dutch: _Bevolkingsonderzoek_). This coding depends on the source system, and not all source systems use this concept (if the source is such a system, this field is never present), nor do they use standardized codes for this concept. type: string example: REC