]> Softwares of Agnibho - medscript-lite.git/blob - README
Updated for mpaz 0.3
[medscript-lite.git] / README
1 MedScript Lite
2 ==============
3
4 MedScript Lite is a medical prescription writing software. It is primarily for
5 medical practitioners for writing prescriptions.
6
7 MedScript Lite is the JavaScript implementation of MedScript. It has a limited
8 feature set. But it can run on any device with a modern web browser.
9
10 The purpose of the program is to enable medical practitioners to prepare
11 computerized prescriptions. The program has been designed after the commonly
12 used prescription format among the medical practitioners in India.
13 Inclusion of prescription style of other regions will hopefully be implemented
14 in future updates.
15
16 File
17 ----
18
19 The program uses a custom file format mpaz (Medical Prescription Archive -
20 Zipped). It is a zip file in a specific format which includes:
21
22 1. A meta.json file containing file type and mpaz version.
23 2. A prescription.zip file containing the actual prescription.
24 3. An attachment folder containing attached files.
25 4. A template folder containing the bundled prescription template. This
26 feature is not supported in MedScript Lite.
27
28 Optionally the mpaz archive may also include an S/MIME signature and
29 certificate for authentication, but it is not implemented in MedScript Lite.
30
31 The structure of the mpaz file is as follows:
32
33 <filename>.mpaz (zipped file)
34 |-- meta.json (e.g. {"type": "MedScript", "version": "<mpaz version>"})
35 |-- prescription.json (Prescription object in JSON format)
36 |-- template (template for rendering, unsupported in MedScript Lite)
37 | |-- index.html (Jinja2 template)
38 | |-- <other template files e.g. CSS>
39 |-- attachment (directory containing attachments)
40 | |-- <attached files>
41 |-- signature (optional: S/MIME signature, unsupported in MedScript Lite)
42 |-- certificate.pem (optional: full certificate chain including end-user, intermediates and root certificate)
43
44 Install
45 -------
46
47 To use MedScript Lite, you can git repository and build the app from source.
48 The following commands can be run in a GNU/Linux terminal.
49
50 1. Clone the git repository.
51
52 git clone https://code.agnibho.com/repo/medscript-lite.git
53
54 2. Enter the cloned directory.
55
56 cd medscript-lite
57
58 3. Run the app.
59
60 npm run serve
61
62 This will create a local web server and serve the app from there. It can be accessed
63 at localhost:8080 from any modern web browser in the local system.
64
65 4. Build the app (optional).
66
67 npm run build
68
69 This will create a "dist" directory containing the compiled app. This
70 directory maybe placed in a server for online use.
71
72 Usage
73 -----
74
75 MedScript Lite has a very intuitive interface.
76
77 The home screen contains the options to open a file, create a new file,
78 editing prescriber information and the information about the app.
79
80 ### Creating a prescription
81
82 A new prescription can be created by clicking on the "New" button. The
83 prescription editing screen will open. The required data can be entered in the
84 form.
85
86 The parts of a prescription are as follows:
87
88 1. ID
89 2. PID
90 3. Name
91 4. Date of Birth
92 5. Age
93 6. Sex
94 7. Address
95 8. Contact
96 9. Diagnosis
97 10. Extra
98 11. DAW (dispense as written)
99 12. Mode (consultation mode e.g. tele-consultation)
100 13. Note (clinical notes)
101 14. Report (available reports)
102 15. Advice
103 16. Investigation
104 17. Medication
105 18. Additional
106 19. Certificate
107 20. Attachment (files can be attached with the prescription from this option)
108
109 After editing the "Save" button below can be used to save the data in a
110 mpaz file and download it. The "Render" button will render the prescription
111 into a printable format. The "Cancel" button can be used to cancel the edits
112 and return to the home screen.
113
114 ### Opening a prescription
115
116 The home screen has the option of opening a prescription. A prescription can
117 be opened by selecting the file in the home screen and clicking the "Open"
118 button.
119
120 ### Rendering a prescription
121
122 The prescriptions can be rendered and subsequently printed. To render a
123 prescription, click on the "Render" button in the edit screen. The rendered
124 prescription can be printed or converted to PDF by using the print to pdf
125 option in the browser.
126
127 ### Template
128
129 The program uses nunjucks (similar to Jinja2) template for rendering the
130 prescription. Two templates (one for default prescription and one for medical
131 certificates) are included with the app. Custom templates are not supported.
132
133 Note that MedScript Lite do not include the templates in the mpaz file.
134
135 ### Medical Certificate
136
137 The certificate text area can be used to write a medical prescription. Select the
138 medical certificate template from the edit screen for proper rendering.
139
140 Prescriber
141 ----------
142
143 The data of the practitioner is stored locally in the browser. To view or edit
144 the prescriber information, click the "Prescriber" button in the home screen.
145
146 The following information can be entered about the prescriber:
147
148 1. Name
149 2. Qualification
150 3. Registration
151 4. Address
152 5. Contact
153 6. Extra
154
155 Prescription Object
156 -------------------
157
158 The program uses a Prescription object to store the prescription data. The
159 structure of the Prescription object is as follows:
160
161 prescription (Prescription object)
162 |-- date (string: date-time in the %Y-%m-%d %H:%M:%S format)
163 |-- id (string: the id of the prescription)
164 |-- pid (string: the patient's id)
165 |-- name (string: the name of the patient)
166 |-- dob (string: the date of birth)
167 |-- age (string: the age of the patient, may contain unit)
168 |-- sex (string: sex of the patient)
169 |-- address (string: address of the patient)
170 |-- contact (string: contact number / email of the patient)
171 |-- extra (string: extra data related to the prescription)
172 |-- mode (string: the mode of consultation e.g. tele-consultation)
173 |-- daw (boolean: dispense as written)
174 |-- diagnosis (string: diagnosis of the patient's condition)
175 |-- note (string: clinical note e.g. history, physical examination)
176 |-- report (string: available reports)
177 |-- advice (string: advice given to the patient, not the medications)
178 |-- investigation (string: investigations suggested for the patient)
179 |-- medication (string: the list of medications prescribed)
180 |-- additional (string: any additional advice/instructions)
181 |-- certificate (string: content of a medical certificate)
182 |-- custom (list: contents of custom input forms)
183 |-- properties (object: unused, included for future/plugin use)
184 |-- prescriber (Prescriber object)
185 | |-- name (string: the name of the prescriber)
186 | |-- qualification (string: the qualification of the prescriber)
187 | |-- registration (string: the registration number of the prescriber)
188 | |-- address (string: the address of the prescriber)
189 | |-- contact (string: contact number / email of the prescriber)
190 | |-- extra (string: any extra data about the prescriber)
191 | |-- properties (object: unused, included for future/plugin use)
192
193 Website
194 -------
195
196 <https://code.agnibho.com/medscript-lite/>
197
198 License
199 -------
200
201 MedScript Lite
202
203 Copyright (C) 2023 Dr. Agnibho Mondal
204
205 MedScript Lite is free software: you can redistribute it and/or modify it under the
206 terms of the GNU General Public License as published by the Free Software
207 Foundation, either version 3 of the License, or (at your option) any later
208 version.
209
210 MedScript Lite is distributed in the hope that it will be useful, but WITHOUT ANY
211 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
212 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
213
214 You should have received a copy of the GNU General Public License along with
215 MedScript Lite. If not, see <https://www.gnu.org/licenses/>.
216
217 Contact
218 -------
219
220 Dr. Agnibho Mondal
221
222 mondal@agnibho.com
223
224 www.agnibho.com