├── .bzrignore
├── .gitignore
├── .gitignore_global
├── LICENSE
├── README.linux
├── README.md
├── debian
├── README.Debian
├── README.source
├── changelog
├── compat
├── config
├── control
├── copyright
├── docs
├── postinst
├── postrm
├── preinst
├── prerm
├── rules
└── templates
├── install.sh
├── uninstall.sh
├── updateapacheconf.sh
└── updaterepair.sh
/.bzrignore:
--------------------------------------------------------------------------------
1 | .git
2 | .gitignore_global
3 | .gitignore
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .bzr/**
2 | .bzrignore
3 |
--------------------------------------------------------------------------------
/.gitignore_global:
--------------------------------------------------------------------------------
1 | # Compiled source #
2 | ###################
3 | *.com
4 | *.class
5 | *.dll
6 | *.exe
7 | *.o
8 | *.so
9 |
10 | # Packages #
11 | ############
12 | # it's better to unpack these files and commit the raw source
13 | # git has its own built in compression methods
14 | *.7z
15 | *.dmg
16 | *.gz
17 | *.iso
18 | *.jar
19 | *.rar
20 | *.tar
21 | *.zip
22 |
23 | # Logs and databases #
24 | ######################
25 | *.log
26 | *.sql
27 | *.sqlite
28 |
29 | # OS generated files #
30 | ######################
31 | .DS_Store
32 | .DS_Store?
33 | ._*
34 | .Spotlight-V100
35 | .Trashes
36 | /.bzr
37 | .bzrignore
38 | ehthumbs.db
39 | Thumbs.db
40 | .gitignore_global
41 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Unless the folder itself contains a LICENSE stating otherwise, all the files
2 | distributed here are released under the GNU AFFERO GENERAL PUBLIC LICENSE.
3 |
4 |
5 | GNU AFFERO GENERAL PUBLIC LICENSE
6 | Version 3, 19 November 2007
7 |
8 | Copyright (C) 2007 Free Software Foundation, Inc.
9 | Everyone is permitted to copy and distribute verbatim copies
10 | of this license document, but changing it is not allowed.
11 |
12 | Preamble
13 |
14 | The GNU Affero General Public License is a free, copyleft license for
15 | software and other kinds of works, specifically designed to ensure
16 | cooperation with the community in the case of network server software.
17 |
18 | The licenses for most software and other practical works are designed
19 | to take away your freedom to share and change the works. By contrast,
20 | our General Public Licenses are intended to guarantee your freedom to
21 | share and change all versions of a program--to make sure it remains free
22 | software for all its users.
23 |
24 | When we speak of free software, we are referring to freedom, not
25 | price. Our General Public Licenses are designed to make sure that you
26 | have the freedom to distribute copies of free software (and charge for
27 | them if you wish), that you receive source code or can get it if you
28 | want it, that you can change the software or use pieces of it in new
29 | free programs, and that you know you can do these things.
30 |
31 | Developers that use our General Public Licenses protect your rights
32 | with two steps: (1) assert copyright on the software, and (2) offer
33 | you this License which gives you legal permission to copy, distribute
34 | and/or modify the software.
35 |
36 | A secondary benefit of defending all users' freedom is that
37 | improvements made in alternate versions of the program, if they
38 | receive widespread use, become available for other developers to
39 | incorporate. Many developers of free software are heartened and
40 | encouraged by the resulting cooperation. However, in the case of
41 | software used on network servers, this result may fail to come about.
42 | The GNU General Public License permits making a modified version and
43 | letting the public access it on a server without ever releasing its
44 | source code to the public.
45 |
46 | The GNU Affero General Public License is designed specifically to
47 | ensure that, in such cases, the modified source code becomes available
48 | to the community. It requires the operator of a network server to
49 | provide the source code of the modified version running there to the
50 | users of that server. Therefore, public use of a modified version, on
51 | a publicly accessible server, gives the public access to the source
52 | code of the modified version.
53 |
54 | An older license, called the Affero General Public License and
55 | published by Affero, was designed to accomplish similar goals. This is
56 | a different license, not a version of the Affero GPL, but Affero has
57 | released a new version of the Affero GPL which permits relicensing under
58 | this license.
59 |
60 | The precise terms and conditions for copying, distribution and
61 | modification follow.
62 |
63 | TERMS AND CONDITIONS
64 |
65 | 0. Definitions.
66 |
67 | "This License" refers to version 3 of the GNU Affero General Public License.
68 |
69 | "Copyright" also means copyright-like laws that apply to other kinds of
70 | works, such as semiconductor masks.
71 |
72 | "The Program" refers to any copyrightable work licensed under this
73 | License. Each licensee is addressed as "you". "Licensees" and
74 | "recipients" may be individuals or organizations.
75 |
76 | To "modify" a work means to copy from or adapt all or part of the work
77 | in a fashion requiring copyright permission, other than the making of an
78 | exact copy. The resulting work is called a "modified version" of the
79 | earlier work or a work "based on" the earlier work.
80 |
81 | A "covered work" means either the unmodified Program or a work based
82 | on the Program.
83 |
84 | To "propagate" a work means to do anything with it that, without
85 | permission, would make you directly or secondarily liable for
86 | infringement under applicable copyright law, except executing it on a
87 | computer or modifying a private copy. Propagation includes copying,
88 | distribution (with or without modification), making available to the
89 | public, and in some countries other activities as well.
90 |
91 | To "convey" a work means any kind of propagation that enables other
92 | parties to make or receive copies. Mere interaction with a user through
93 | a computer network, with no transfer of a copy, is not conveying.
94 |
95 | An interactive user interface displays "Appropriate Legal Notices"
96 | to the extent that it includes a convenient and prominently visible
97 | feature that (1) displays an appropriate copyright notice, and (2)
98 | tells the user that there is no warranty for the work (except to the
99 | extent that warranties are provided), that licensees may convey the
100 | work under this License, and how to view a copy of this License. If
101 | the interface presents a list of user commands or options, such as a
102 | menu, a prominent item in the list meets this criterion.
103 |
104 | 1. Source Code.
105 |
106 | The "source code" for a work means the preferred form of the work
107 | for making modifications to it. "Object code" means any non-source
108 | form of a work.
109 |
110 | A "Standard Interface" means an interface that either is an official
111 | standard defined by a recognized standards body, or, in the case of
112 | interfaces specified for a particular programming language, one that
113 | is widely used among developers working in that language.
114 |
115 | The "System Libraries" of an executable work include anything, other
116 | than the work as a whole, that (a) is included in the normal form of
117 | packaging a Major Component, but which is not part of that Major
118 | Component, and (b) serves only to enable use of the work with that
119 | Major Component, or to implement a Standard Interface for which an
120 | implementation is available to the public in source code form. A
121 | "Major Component", in this context, means a major essential component
122 | (kernel, window system, and so on) of the specific operating system
123 | (if any) on which the executable work runs, or a compiler used to
124 | produce the work, or an object code interpreter used to run it.
125 |
126 | The "Corresponding Source" for a work in object code form means all
127 | the source code needed to generate, install, and (for an executable
128 | work) run the object code and to modify the work, including scripts to
129 | control those activities. However, it does not include the work's
130 | System Libraries, or general-purpose tools or generally available free
131 | programs which are used unmodified in performing those activities but
132 | which are not part of the work. For example, Corresponding Source
133 | includes interface definition files associated with source files for
134 | the work, and the source code for shared libraries and dynamically
135 | linked subprograms that the work is specifically designed to require,
136 | such as by intimate data communication or control flow between those
137 | subprograms and other parts of the work.
138 |
139 | The Corresponding Source need not include anything that users
140 | can regenerate automatically from other parts of the Corresponding
141 | Source.
142 |
143 | The Corresponding Source for a work in source code form is that
144 | same work.
145 |
146 | 2. Basic Permissions.
147 |
148 | All rights granted under this License are granted for the term of
149 | copyright on the Program, and are irrevocable provided the stated
150 | conditions are met. This License explicitly affirms your unlimited
151 | permission to run the unmodified Program. The output from running a
152 | covered work is covered by this License only if the output, given its
153 | content, constitutes a covered work. This License acknowledges your
154 | rights of fair use or other equivalent, as provided by copyright law.
155 |
156 | You may make, run and propagate covered works that you do not
157 | convey, without conditions so long as your license otherwise remains
158 | in force. You may convey covered works to others for the sole purpose
159 | of having them make modifications exclusively for you, or provide you
160 | with facilities for running those works, provided that you comply with
161 | the terms of this License in conveying all material for which you do
162 | not control copyright. Those thus making or running the covered works
163 | for you must do so exclusively on your behalf, under your direction
164 | and control, on terms that prohibit them from making any copies of
165 | your copyrighted material outside their relationship with you.
166 |
167 | Conveying under any other circumstances is permitted solely under
168 | the conditions stated below. Sublicensing is not allowed; section 10
169 | makes it unnecessary.
170 |
171 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
172 |
173 | No covered work shall be deemed part of an effective technological
174 | measure under any applicable law fulfilling obligations under article
175 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
176 | similar laws prohibiting or restricting circumvention of such
177 | measures.
178 |
179 | When you convey a covered work, you waive any legal power to forbid
180 | circumvention of technological measures to the extent such circumvention
181 | is effected by exercising rights under this License with respect to
182 | the covered work, and you disclaim any intention to limit operation or
183 | modification of the work as a means of enforcing, against the work's
184 | users, your or third parties' legal rights to forbid circumvention of
185 | technological measures.
186 |
187 | 4. Conveying Verbatim Copies.
188 |
189 | You may convey verbatim copies of the Program's source code as you
190 | receive it, in any medium, provided that you conspicuously and
191 | appropriately publish on each copy an appropriate copyright notice;
192 | keep intact all notices stating that this License and any
193 | non-permissive terms added in accord with section 7 apply to the code;
194 | keep intact all notices of the absence of any warranty; and give all
195 | recipients a copy of this License along with the Program.
196 |
197 | You may charge any price or no price for each copy that you convey,
198 | and you may offer support or warranty protection for a fee.
199 |
200 | 5. Conveying Modified Source Versions.
201 |
202 | You may convey a work based on the Program, or the modifications to
203 | produce it from the Program, in the form of source code under the
204 | terms of section 4, provided that you also meet all of these conditions:
205 |
206 | a) The work must carry prominent notices stating that you modified
207 | it, and giving a relevant date.
208 |
209 | b) The work must carry prominent notices stating that it is
210 | released under this License and any conditions added under section
211 | 7. This requirement modifies the requirement in section 4 to
212 | "keep intact all notices".
213 |
214 | c) You must license the entire work, as a whole, under this
215 | License to anyone who comes into possession of a copy. This
216 | License will therefore apply, along with any applicable section 7
217 | additional terms, to the whole of the work, and all its parts,
218 | regardless of how they are packaged. This License gives no
219 | permission to license the work in any other way, but it does not
220 | invalidate such permission if you have separately received it.
221 |
222 | d) If the work has interactive user interfaces, each must display
223 | Appropriate Legal Notices; however, if the Program has interactive
224 | interfaces that do not display Appropriate Legal Notices, your
225 | work need not make them do so.
226 |
227 | A compilation of a covered work with other separate and independent
228 | works, which are not by their nature extensions of the covered work,
229 | and which are not combined with it such as to form a larger program,
230 | in or on a volume of a storage or distribution medium, is called an
231 | "aggregate" if the compilation and its resulting copyright are not
232 | used to limit the access or legal rights of the compilation's users
233 | beyond what the individual works permit. Inclusion of a covered work
234 | in an aggregate does not cause this License to apply to the other
235 | parts of the aggregate.
236 |
237 | 6. Conveying Non-Source Forms.
238 |
239 | You may convey a covered work in object code form under the terms
240 | of sections 4 and 5, provided that you also convey the
241 | machine-readable Corresponding Source under the terms of this License,
242 | in one of these ways:
243 |
244 | a) Convey the object code in, or embodied in, a physical product
245 | (including a physical distribution medium), accompanied by the
246 | Corresponding Source fixed on a durable physical medium
247 | customarily used for software interchange.
248 |
249 | b) Convey the object code in, or embodied in, a physical product
250 | (including a physical distribution medium), accompanied by a
251 | written offer, valid for at least three years and valid for as
252 | long as you offer spare parts or customer support for that product
253 | model, to give anyone who possesses the object code either (1) a
254 | copy of the Corresponding Source for all the software in the
255 | product that is covered by this License, on a durable physical
256 | medium customarily used for software interchange, for a price no
257 | more than your reasonable cost of physically performing this
258 | conveying of source, or (2) access to copy the
259 | Corresponding Source from a network server at no charge.
260 |
261 | c) Convey individual copies of the object code with a copy of the
262 | written offer to provide the Corresponding Source. This
263 | alternative is allowed only occasionally and noncommercially, and
264 | only if you received the object code with such an offer, in accord
265 | with subsection 6b.
266 |
267 | d) Convey the object code by offering access from a designated
268 | place (gratis or for a charge), and offer equivalent access to the
269 | Corresponding Source in the same way through the same place at no
270 | further charge. You need not require recipients to copy the
271 | Corresponding Source along with the object code. If the place to
272 | copy the object code is a network server, the Corresponding Source
273 | may be on a different server (operated by you or a third party)
274 | that supports equivalent copying facilities, provided you maintain
275 | clear directions next to the object code saying where to find the
276 | Corresponding Source. Regardless of what server hosts the
277 | Corresponding Source, you remain obligated to ensure that it is
278 | available for as long as needed to satisfy these requirements.
279 |
280 | e) Convey the object code using peer-to-peer transmission, provided
281 | you inform other peers where the object code and Corresponding
282 | Source of the work are being offered to the general public at no
283 | charge under subsection 6d.
284 |
285 | A separable portion of the object code, whose source code is excluded
286 | from the Corresponding Source as a System Library, need not be
287 | included in conveying the object code work.
288 |
289 | A "User Product" is either (1) a "consumer product", which means any
290 | tangible personal property which is normally used for personal, family,
291 | or household purposes, or (2) anything designed or sold for incorporation
292 | into a dwelling. In determining whether a product is a consumer product,
293 | doubtful cases shall be resolved in favor of coverage. For a particular
294 | product received by a particular user, "normally used" refers to a
295 | typical or common use of that class of product, regardless of the status
296 | of the particular user or of the way in which the particular user
297 | actually uses, or expects or is expected to use, the product. A product
298 | is a consumer product regardless of whether the product has substantial
299 | commercial, industrial or non-consumer uses, unless such uses represent
300 | the only significant mode of use of the product.
301 |
302 | "Installation Information" for a User Product means any methods,
303 | procedures, authorization keys, or other information required to install
304 | and execute modified versions of a covered work in that User Product from
305 | a modified version of its Corresponding Source. The information must
306 | suffice to ensure that the continued functioning of the modified object
307 | code is in no case prevented or interfered with solely because
308 | modification has been made.
309 |
310 | If you convey an object code work under this section in, or with, or
311 | specifically for use in, a User Product, and the conveying occurs as
312 | part of a transaction in which the right of possession and use of the
313 | User Product is transferred to the recipient in perpetuity or for a
314 | fixed term (regardless of how the transaction is characterized), the
315 | Corresponding Source conveyed under this section must be accompanied
316 | by the Installation Information. But this requirement does not apply
317 | if neither you nor any third party retains the ability to install
318 | modified object code on the User Product (for example, the work has
319 | been installed in ROM).
320 |
321 | The requirement to provide Installation Information does not include a
322 | requirement to continue to provide support service, warranty, or updates
323 | for a work that has been modified or installed by the recipient, or for
324 | the User Product in which it has been modified or installed. Access to a
325 | network may be denied when the modification itself materially and
326 | adversely affects the operation of the network or violates the rules and
327 | protocols for communication across the network.
328 |
329 | Corresponding Source conveyed, and Installation Information provided,
330 | in accord with this section must be in a format that is publicly
331 | documented (and with an implementation available to the public in
332 | source code form), and must require no special password or key for
333 | unpacking, reading or copying.
334 |
335 | 7. Additional Terms.
336 |
337 | "Additional permissions" are terms that supplement the terms of this
338 | License by making exceptions from one or more of its conditions.
339 | Additional permissions that are applicable to the entire Program shall
340 | be treated as though they were included in this License, to the extent
341 | that they are valid under applicable law. If additional permissions
342 | apply only to part of the Program, that part may be used separately
343 | under those permissions, but the entire Program remains governed by
344 | this License without regard to the additional permissions.
345 |
346 | When you convey a copy of a covered work, you may at your option
347 | remove any additional permissions from that copy, or from any part of
348 | it. (Additional permissions may be written to require their own
349 | removal in certain cases when you modify the work.) You may place
350 | additional permissions on material, added by you to a covered work,
351 | for which you have or can give appropriate copyright permission.
352 |
353 | Notwithstanding any other provision of this License, for material you
354 | add to a covered work, you may (if authorized by the copyright holders of
355 | that material) supplement the terms of this License with terms:
356 |
357 | a) Disclaiming warranty or limiting liability differently from the
358 | terms of sections 15 and 16 of this License; or
359 |
360 | b) Requiring preservation of specified reasonable legal notices or
361 | author attributions in that material or in the Appropriate Legal
362 | Notices displayed by works containing it; or
363 |
364 | c) Prohibiting misrepresentation of the origin of that material, or
365 | requiring that modified versions of such material be marked in
366 | reasonable ways as different from the original version; or
367 |
368 | d) Limiting the use for publicity purposes of names of licensors or
369 | authors of the material; or
370 |
371 | e) Declining to grant rights under trademark law for use of some
372 | trade names, trademarks, or service marks; or
373 |
374 | f) Requiring indemnification of licensors and authors of that
375 | material by anyone who conveys the material (or modified versions of
376 | it) with contractual assumptions of liability to the recipient, for
377 | any liability that these contractual assumptions directly impose on
378 | those licensors and authors.
379 |
380 | All other non-permissive additional terms are considered "further
381 | restrictions" within the meaning of section 10. If the Program as you
382 | received it, or any part of it, contains a notice stating that it is
383 | governed by this License along with a term that is a further
384 | restriction, you may remove that term. If a license document contains
385 | a further restriction but permits relicensing or conveying under this
386 | License, you may add to a covered work material governed by the terms
387 | of that license document, provided that the further restriction does
388 | not survive such relicensing or conveying.
389 |
390 | If you add terms to a covered work in accord with this section, you
391 | must place, in the relevant source files, a statement of the
392 | additional terms that apply to those files, or a notice indicating
393 | where to find the applicable terms.
394 |
395 | Additional terms, permissive or non-permissive, may be stated in the
396 | form of a separately written license, or stated as exceptions;
397 | the above requirements apply either way.
398 |
399 | 8. Termination.
400 |
401 | You may not propagate or modify a covered work except as expressly
402 | provided under this License. Any attempt otherwise to propagate or
403 | modify it is void, and will automatically terminate your rights under
404 | this License (including any patent licenses granted under the third
405 | paragraph of section 11).
406 |
407 | However, if you cease all violation of this License, then your
408 | license from a particular copyright holder is reinstated (a)
409 | provisionally, unless and until the copyright holder explicitly and
410 | finally terminates your license, and (b) permanently, if the copyright
411 | holder fails to notify you of the violation by some reasonable means
412 | prior to 60 days after the cessation.
413 |
414 | Moreover, your license from a particular copyright holder is
415 | reinstated permanently if the copyright holder notifies you of the
416 | violation by some reasonable means, this is the first time you have
417 | received notice of violation of this License (for any work) from that
418 | copyright holder, and you cure the violation prior to 30 days after
419 | your receipt of the notice.
420 |
421 | Termination of your rights under this section does not terminate the
422 | licenses of parties who have received copies or rights from you under
423 | this License. If your rights have been terminated and not permanently
424 | reinstated, you do not qualify to receive new licenses for the same
425 | material under section 10.
426 |
427 | 9. Acceptance Not Required for Having Copies.
428 |
429 | You are not required to accept this License in order to receive or
430 | run a copy of the Program. Ancillary propagation of a covered work
431 | occurring solely as a consequence of using peer-to-peer transmission
432 | to receive a copy likewise does not require acceptance. However,
433 | nothing other than this License grants you permission to propagate or
434 | modify any covered work. These actions infringe copyright if you do
435 | not accept this License. Therefore, by modifying or propagating a
436 | covered work, you indicate your acceptance of this License to do so.
437 |
438 | 10. Automatic Licensing of Downstream Recipients.
439 |
440 | Each time you convey a covered work, the recipient automatically
441 | receives a license from the original licensors, to run, modify and
442 | propagate that work, subject to this License. You are not responsible
443 | for enforcing compliance by third parties with this License.
444 |
445 | An "entity transaction" is a transaction transferring control of an
446 | organization, or substantially all assets of one, or subdividing an
447 | organization, or merging organizations. If propagation of a covered
448 | work results from an entity transaction, each party to that
449 | transaction who receives a copy of the work also receives whatever
450 | licenses to the work the party's predecessor in interest had or could
451 | give under the previous paragraph, plus a right to possession of the
452 | Corresponding Source of the work from the predecessor in interest, if
453 | the predecessor has it or can get it with reasonable efforts.
454 |
455 | You may not impose any further restrictions on the exercise of the
456 | rights granted or affirmed under this License. For example, you may
457 | not impose a license fee, royalty, or other charge for exercise of
458 | rights granted under this License, and you may not initiate litigation
459 | (including a cross-claim or counterclaim in a lawsuit) alleging that
460 | any patent claim is infringed by making, using, selling, offering for
461 | sale, or importing the Program or any portion of it.
462 |
463 | 11. Patents.
464 |
465 | A "contributor" is a copyright holder who authorizes use under this
466 | License of the Program or a work on which the Program is based. The
467 | work thus licensed is called the contributor's "contributor version".
468 |
469 | A contributor's "essential patent claims" are all patent claims
470 | owned or controlled by the contributor, whether already acquired or
471 | hereafter acquired, that would be infringed by some manner, permitted
472 | by this License, of making, using, or selling its contributor version,
473 | but do not include claims that would be infringed only as a
474 | consequence of further modification of the contributor version. For
475 | purposes of this definition, "control" includes the right to grant
476 | patent sublicenses in a manner consistent with the requirements of
477 | this License.
478 |
479 | Each contributor grants you a non-exclusive, worldwide, royalty-free
480 | patent license under the contributor's essential patent claims, to
481 | make, use, sell, offer for sale, import and otherwise run, modify and
482 | propagate the contents of its contributor version.
483 |
484 | In the following three paragraphs, a "patent license" is any express
485 | agreement or commitment, however denominated, not to enforce a patent
486 | (such as an express permission to practice a patent or covenant not to
487 | sue for patent infringement). To "grant" such a patent license to a
488 | party means to make such an agreement or commitment not to enforce a
489 | patent against the party.
490 |
491 | If you convey a covered work, knowingly relying on a patent license,
492 | and the Corresponding Source of the work is not available for anyone
493 | to copy, free of charge and under the terms of this License, through a
494 | publicly available network server or other readily accessible means,
495 | then you must either (1) cause the Corresponding Source to be so
496 | available, or (2) arrange to deprive yourself of the benefit of the
497 | patent license for this particular work, or (3) arrange, in a manner
498 | consistent with the requirements of this License, to extend the patent
499 | license to downstream recipients. "Knowingly relying" means you have
500 | actual knowledge that, but for the patent license, your conveying the
501 | covered work in a country, or your recipient's use of the covered work
502 | in a country, would infringe one or more identifiable patents in that
503 | country that you have reason to believe are valid.
504 |
505 | If, pursuant to or in connection with a single transaction or
506 | arrangement, you convey, or propagate by procuring conveyance of, a
507 | covered work, and grant a patent license to some of the parties
508 | receiving the covered work authorizing them to use, propagate, modify
509 | or convey a specific copy of the covered work, then the patent license
510 | you grant is automatically extended to all recipients of the covered
511 | work and works based on it.
512 |
513 | A patent license is "discriminatory" if it does not include within
514 | the scope of its coverage, prohibits the exercise of, or is
515 | conditioned on the non-exercise of one or more of the rights that are
516 | specifically granted under this License. You may not convey a covered
517 | work if you are a party to an arrangement with a third party that is
518 | in the business of distributing software, under which you make payment
519 | to the third party based on the extent of your activity of conveying
520 | the work, and under which the third party grants, to any of the
521 | parties who would receive the covered work from you, a discriminatory
522 | patent license (a) in connection with copies of the covered work
523 | conveyed by you (or copies made from those copies), or (b) primarily
524 | for and in connection with specific products or compilations that
525 | contain the covered work, unless you entered into that arrangement,
526 | or that patent license was granted, prior to 28 March 2007.
527 |
528 | Nothing in this License shall be construed as excluding or limiting
529 | any implied license or other defenses to infringement that may
530 | otherwise be available to you under applicable patent law.
531 |
532 | 12. No Surrender of Others' Freedom.
533 |
534 | If conditions are imposed on you (whether by court order, agreement or
535 | otherwise) that contradict the conditions of this License, they do not
536 | excuse you from the conditions of this License. If you cannot convey a
537 | covered work so as to satisfy simultaneously your obligations under this
538 | License and any other pertinent obligations, then as a consequence you may
539 | not convey it at all. For example, if you agree to terms that obligate you
540 | to collect a royalty for further conveying from those to whom you convey
541 | the Program, the only way you could satisfy both those terms and this
542 | License would be to refrain entirely from conveying the Program.
543 |
544 | 13. Remote Network Interaction; Use with the GNU General Public License.
545 |
546 | Notwithstanding any other provision of this License, if you modify the
547 | Program, your modified version must prominently offer all users
548 | interacting with it remotely through a computer network (if your version
549 | supports such interaction) an opportunity to receive the Corresponding
550 | Source of your version by providing access to the Corresponding Source
551 | from a network server at no charge, through some standard or customary
552 | means of facilitating copying of software. This Corresponding Source
553 | shall include the Corresponding Source for any work covered by version 3
554 | of the GNU General Public License that is incorporated pursuant to the
555 | following paragraph.
556 |
557 | Notwithstanding any other provision of this License, you have
558 | permission to link or combine any covered work with a work licensed
559 | under version 3 of the GNU General Public License into a single
560 | combined work, and to convey the resulting work. The terms of this
561 | License will continue to apply to the part which is the covered work,
562 | but the work with which it is combined will remain governed by version
563 | 3 of the GNU General Public License.
564 |
565 | 14. Revised Versions of this License.
566 |
567 | The Free Software Foundation may publish revised and/or new versions of
568 | the GNU Affero General Public License from time to time. Such new versions
569 | will be similar in spirit to the present version, but may differ in detail to
570 | address new problems or concerns.
571 |
572 | Each version is given a distinguishing version number. If the
573 | Program specifies that a certain numbered version of the GNU Affero General
574 | Public License "or any later version" applies to it, you have the
575 | option of following the terms and conditions either of that numbered
576 | version or of any later version published by the Free Software
577 | Foundation. If the Program does not specify a version number of the
578 | GNU Affero General Public License, you may choose any version ever published
579 | by the Free Software Foundation.
580 |
581 | If the Program specifies that a proxy can decide which future
582 | versions of the GNU Affero General Public License can be used, that proxy's
583 | public statement of acceptance of a version permanently authorizes you
584 | to choose that version for the Program.
585 |
586 | Later license versions may give you additional or different
587 | permissions. However, no additional obligations are imposed on any
588 | author or copyright holder as a result of your choosing to follow a
589 | later version.
590 |
591 | 15. Disclaimer of Warranty.
592 |
593 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
594 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
595 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
596 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
597 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
598 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
599 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
600 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
601 |
602 | 16. Limitation of Liability.
603 |
604 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
605 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
606 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
607 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
608 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
609 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
610 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
611 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
612 | SUCH DAMAGES.
613 |
614 | 17. Interpretation of Sections 15 and 16.
615 |
616 | If the disclaimer of warranty and limitation of liability provided
617 | above cannot be given local legal effect according to their terms,
618 | reviewing courts shall apply local law that most closely approximates
619 | an absolute waiver of all civil liability in connection with the
620 | Program, unless a warranty or assumption of liability accompanies a
621 | copy of the Program in return for a fee.
622 |
623 | END OF TERMS AND CONDITIONS
624 |
625 | How to Apply These Terms to Your New Programs
626 |
627 | If you develop a new program, and you want it to be of the greatest
628 | possible use to the public, the best way to achieve this is to make it
629 | free software which everyone can redistribute and change under these terms.
630 |
631 | To do so, attach the following notices to the program. It is safest
632 | to attach them to the start of each source file to most effectively
633 | state the exclusion of warranty; and each file should have at least
634 | the "copyright" line and a pointer to where the full notice is found.
635 |
636 |
637 | Copyright (C)
638 |
639 | This program is free software: you can redistribute it and/or modify
640 | it under the terms of the GNU Affero General Public License as published by
641 | the Free Software Foundation, either version 3 of the License, or
642 | (at your option) any later version.
643 |
644 | This program is distributed in the hope that it will be useful,
645 | but WITHOUT ANY WARRANTY; without even the implied warranty of
646 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
647 | GNU Affero General Public License for more details.
648 |
649 | You should have received a copy of the GNU Affero General Public License
650 | along with this program. If not, see .
651 |
652 | Also add information on how to contact you by electronic and paper mail.
653 |
654 | If your software can interact with users remotely through a computer
655 | network, you should also make sure that it provides a way for users to
656 | get its source. For example, if your program is a web application, its
657 | interface could display a "Source" link that leads users to an archive
658 | of the code. There are many ways you could offer source, and different
659 | solutions will be better for different programs; see section 13 for the
660 | specific requirements.
661 |
662 | You should also get your employer (if you work as a programmer) or school,
663 | if any, to sign a "copyright disclaimer" for the program, if necessary.
664 | For more information on this, and how to apply and follow the GNU AGPL, see
665 | .
666 |
--------------------------------------------------------------------------------
/README.linux:
--------------------------------------------------------------------------------
1 | NOSH ChartingSystem Installation Instructions for Linux
2 | ---------------------------------------------------------------------------------------------
3 | Preparation:
4 | You'll need to have the following programs installed on your system prior to installation
5 | of NOSH ChartingSystem
6 |
7 | 1. Apache web server (needs to be running)
8 | 2. MySQL database. Make sure you remember the root password. This will be asked during the
9 | NOSH ChartingSystem installation. (needs to be running)
10 | 3. PHP 5.2 and higher
11 | 4. The following PHP modules installed and enabled:
12 | mysql, imap, mcrypt, imagick, gd, cli, curl, soap, pear
13 | 5. PERL
14 | 6. Imagemagick
15 | 7. PDF ToolKit (pdftk)
16 |
17 | ---------------------------------------------------------------------------------------------
18 | Install the package:
19 |
20 | 1. Unzip the installation file in a directory of your choice. Go to the "nosh-cs" directory.
21 | 2. Open a terminal window and go to the "nosh-cs" directory.
22 | 3. Type "sh install.sh" to run the installation script.
23 | 4. Follow the instructions on the prompt.
24 | 5. Go to your web browser and type, "http://localhost/nosh" to begin the second stage of
25 | installation.
26 | 6. Wait for installation to complete.
27 | 7. Login to NOSH ChartingSystem as admin and configure your users and clinic parameters.
28 | It's important to do this first before any other users use NOSH ChartingSystem; otherwise,
29 | some features such as scheduling will not work correctly!
30 |
31 | ---------------------------------------------------------------------------------------------
32 | Uninstall the package:
33 | 1. Open a terminal window and go to the "nosh-cs" directory where you ran the installation
34 | script.
35 | 2. Type "sh uninstall.sh" to run the uninstallation script.
36 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # NOSH ChartingSystem Installation Instructions
2 |
3 | ## Preparation:
4 | You'll need to have the following applications/packages installed on your system prior to installation
5 | of NOSH ChartingSystem. If you have a LAMP (Linux-Apache-mySQL-PHP) or MAMP (Mac-Apache-mySQL-PHP) server
6 | already set up, you are golden!
7 |
8 | ##### 1. Apache web server (needs to be running)
9 | ##### 2. MySQL database. Make sure you remember the root password. This will be asked during the
10 | NOSH ChartingSystem installation. (needs to be running)
11 | ##### 3. PHP 5.4 and higher
12 | ##### 4. The following PHP modules installed and enabled:
13 | mysql, imap, mcrypt, imagick, gd, cli, curl, soap, pear
14 | ##### 5. PERL
15 | ##### 6. Imagemagick
16 | ##### 7. PDF ToolKit (pdftk)
17 | ##### 8. cURL
18 |
19 | ## Installation
20 | Installing NOSH ChartingSystem is very easy to install. If you use Ubuntu, it is even easier as NOSH can be installed from its own
21 | Personal Package Archive (PPA). With the [PPA method](https://github.com/shihjay2/nosh-cs/wiki/Installation#ubuntu-ppa), you do not
22 | have to worry about installing dependencies. If you have access to a terminal shell for your server (any distro for Linux or
23 | Mac OS-X), you can install NOSH with the [Manual Method](https://github.com/shihjay2/nosh-cs/wiki/Installation#manual-method).
24 | The installation script automatically adds scheduled task commands (cron files) and web server configuration files to make NOSH
25 | work seamlessly the first time. The script also determines if your system meets all the package dependencies before installation.
26 | For detailed information, go to the [Wiki link](https://github.com/shihjay2/nosh-cs/wiki/Installation#ubuntu-ppa).
27 |
28 | If this is the first time using NOSH, make sure you login to NOSH ChartingSystem as admin and configure your users and clinic
29 | parameters. It's important to do this first before any other users use NOSH ChartingSystem; otherwise,
30 | some features such as scheduling will not work correctly!
31 |
32 | ## Updates
33 | Like Laravel, NOSH now utilizes [Composer](http://getcomposer.org) to manage its PHP dependencies.
34 | Composer is automatically installed when you use the installation script (it is located in /usr/local/bin/composer).
35 | Because the [core NOSH files](https://github.com/shihjay2/nosh-core/) are now served on GitHub, NOSH is self-updating daily
36 | whenever a new commit (updated files) is uploaded. There is no more user intervention anymore, and you get the latest and greatest
37 | NOSH version at your fingertips!
38 |
39 | ## Uninstall the package:
40 | ##### 1. Open a terminal window and go to the NOSH installation directory (the default in the script
41 | is /usr/share/nosh).
42 | ##### 2. As a root user (sudo in Ubuntu/Debian), type "sh uninstall.sh" to run the uninstallation script.
43 |
44 | # How the files are organized.
45 |
46 | NOSH is built around the Laravel PHP Framework, which is a models/controllers/views (MCV) framework.
47 | Documentation for the entire framework can be found on the [Laravel website](http://laravel.com/docs).
48 |
49 | ## Routes
50 | The routes.php file dictate where the URL command goes to. Looking at the file, you'll notice that the controllers are
51 | categorized by an access control list (ACL) based on the type of user priviledges a user has when he/she is logged in to NOSH.
52 |
53 | ## Controllers
54 | As is standard with the Laravel framework, main guts of the system lie in the ../app/controllers directory. Looking at the
55 | routes.php file, you'll notice that the type of controllers are categorized between AJAX and non-AJAX functions (hence they
56 | are named with a prefix of Ajax).
57 |
58 | ## Views
59 | The view files, PDF, and email template files are in the ../app/views directory. The view files are essentially "modules" that
60 | are added on depending on the needs of the view layout.
61 | The corresponding javascript files (named the same as the view file, but with a .js extension) are in the ../public/js directory.
62 |
63 | If you see the javascript, you will notice that jQuery is used heavily here. There are numerous plugins for jQuery that are
64 | referenced in the header file. Below is a list of the major jQuery plugins that are used:
65 | ##### Javascript user interface: JQuery UI (dialog, tabs, accordion, autocomplete)
66 | ##### Calendar system: FullCalendar
67 | ##### Tables and grids: jqGrid
68 | ##### Signature capture: Signature Pad
69 | ##### Growth charts: Highcharts
70 | ##### Form input masking: Masked Input
71 | ##### Date/time input: Time entry
72 |
73 | ## Models
74 | This is where php code pertaining to MySQL database functions reside. The controllers frequently point to code in this
75 | directory.
76 |
77 | ## Assets
78 | Images indicated in the view files reside in the ../public/images directory.
79 | Imported files are usually downloaded via script in the ../import directory.
80 |
81 | ## Database schema
82 | Below are the list of database tables that are installed for NOSH. Some table names are self explainatory, but those that are not
83 | will be explained here.
84 | addressbook
85 | alerts
86 | allergies
87 | assessment - Assessment of a patient encounter.
88 | audit - This is a log of all database commands (add, edit, delete) by users of NOSH.
89 | billing - List of all fields in a HCFA-1500 form for each patient encounter.
90 | billing-core - List of all charges and payments for a patient encounter.
91 | calendar - List of all visit types and their duration for the patient scheduler.
92 | ci_sessions - This table keeps track of all active user sessions at a given time (depreciated with Laravel)
93 | cpt - CPT codes
94 | cvx - CVX (vaccine database) codes
95 | demographics - List of all patients (active or inactive) in the system.
96 | documents - List of all PDF documents saved in the documents folder (default is /noshdocuments) on the server that pertain to a
97 | given patient.
98 | encounters - List of all patient encounters for a given patient.
99 | era - ERA claims table.
100 | groups - List of user groups (provider, admin, assistant, billing, patient).
101 | hippa - List of all release of information requests for a given patient.
102 | hpi - History of Present Illness of a patient encounter.
103 | icd9 - ICD9 (and also ICD10, if updated) codes
104 | immunizations
105 | insurance - List of all insurance information for a given patient.
106 | issues - List of all medical issues (active or inactive) for a given patient.
107 | labs - List of all lab results for a given patient.
108 | meds - List of all FDA regulated medications.
109 | messaging - Intraoffice messaging.
110 | migrations - Laravel migrations table.
111 | mtm - Medication Therapy Management tables.
112 | npi - NPI taxonomy codes.
113 | orders - This table lists all physician orders for a given patient.
114 | orderslist - This table lists all templates for physician orders.
115 | other_history - Past Medical History, Past Surgical History, Family History. Social History, Tobacco Use History, Alcohol Use
116 | History, and Illicit Drug Use History
117 | pages - List of documents being sent by fax.
118 | pe - Physical Examination of a patient encounter.
119 | plan - Plan of a patient encounter.
120 | pos - Place of Service codes.
121 | practiceinfo - Practice information.
122 | procedure - Procedures done in a patient encounter.
123 | procedurelist - Procedure templates.
124 | providers - Provider information.
125 | received - List of documents received by fax.
126 | recepients - List of recepients of faxes sent.
127 | refresh_tokens - UMA refresh tokens.
128 | repeat_schedule - List of repeated calendar events.
129 | ros - Review of System of a patient encounter.
130 | rx - List of all medications (active or inactive) for a given patient.
131 | rx_list - List of all medications prescribed by a provider.
132 | scans - List of all documents scanned into the system.
133 | schedule - Patient scheduling.
134 | sendfax - List of all sent faxes.
135 | sessions - Laravel sessions.
136 | snomed_procedure_imaging
137 | snomed_procedure_path
138 | sup_list - List of all ordered supplements by physician.
139 | supplements_list - List of all supplements in NIH.
140 | supplements_inventory - Supplements inventory.
141 | tags - Tags functionality.
142 | tags_relate - Relational table for tags.
143 | template - List of physician templates for History of Present Illness, Review of Systems, Physical Examination.
144 | tests - Test results.
145 | t_messages - List of all telephone messages for a given patient.
146 | uma - List of shared resources.
147 | uma_invitation - List of invitations for shared access.
148 | users - List of all system users.
149 | vaccine_inventory
150 | vaccine_temp - Vaccine temperature log
151 | vitals - List of vital signs in a patient encounter.
152 |
153 | ### Contributing To NOSH ChartingSystem
154 |
155 | **All issues and pull requests should be filed on the [shihjay2/nosh-core](http://github.com/shihjay2/nosh-core) repository.**
156 |
157 | ### License
158 |
159 | NOSH ChartingSystem is open-sourced software licensed under the [GNU Affero General Public License](http://www.gnu.org/licenses/)
160 |
--------------------------------------------------------------------------------
/debian/README.Debian:
--------------------------------------------------------------------------------
1 | nosh-cs for Debian
2 | ------------------
3 |
4 |
5 |
6 | -- Michael Shihjay Chen Wed, 03 Oct 2012 15:22:29 -0700
7 |
--------------------------------------------------------------------------------
/debian/README.source:
--------------------------------------------------------------------------------
1 | nosh-cs for Debian
2 | ------------------
3 |
4 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/debian/changelog:
--------------------------------------------------------------------------------
1 | nosh-cs (1.8.1-0ubuntu12) trusty; urgency=medium
2 |
3 | * Updated readme file.
4 |
5 | -- Michael Shihjay Chen Tue, 03 Nov 2015 20:37:23 -0800
6 |
7 | nosh-cs (1.8.1-0ubuntu11) trusty; urgency=medium
8 |
9 | * Update apache config file to allow authorization headers.
10 |
11 | -- Michael Shihjay Chen Sat, 22 Aug 2015 09:37:23 -0700
12 |
13 | nosh-cs (1.8.1-0ubuntu10) trusty; urgency=medium
14 |
15 | * Updated package details.
16 |
17 | -- Michael Shihjay Chen Mon, 16 Mar 2015 02:42:23 -0700
18 |
19 | nosh-cs (1.8.1-0ubuntu9) trusty; urgency=medium
20 |
21 | * Fixed - create parent directories when there is none.
22 |
23 | -- Michael Shihjay Chen Mon, 16 Mar 2015 02:18:18 -0700
24 |
25 | nosh-cs (1.8.1-0ubuntu8) precise; urgency=low
26 |
27 | * Fixed - manual installation script error if no log directory present.
28 |
29 | -- Michael Shihjay Chen Fri, 10 Oct 2014 19:26:13 -0700
30 |
31 | nosh-cs (1.8.1-0ubuntu7) precise; urgency=low
32 |
33 | * Fixed - error showing for db_capb backup.
34 |
35 | -- Michael Shihjay Chen Fri, 18 Jul 2014 06:01:40 -0700
36 |
37 | nosh-cs (1.8.1-0ubuntu6) precise; urgency=low
38 |
39 | * Fixed - IMAP php module not activated for Ubuntu 14.04
40 |
41 | -- Michael Shihjay Chen Thu, 17 Jul 2014 19:29:17 -0700
42 |
43 | nosh-cs (1.8.1-0ubuntu5) precise; urgency=low
44 |
45 | * Fixed - reference to php5enmod modified for Ubuntu versions below 14.04
46 |
47 | -- Michael Shihjay Chen Mon, 14 Jul 2014 16:34:17 -0700
48 |
49 | nosh-cs (1.8.1-0ubuntu4) precise; urgency=low
50 |
51 | * Update - manual installation scripts updated for correct mycrpt and Apache
52 |
53 | -- Michael Shihjay Chen Mon, 14 Jul 2014 05:44:03 -0700
54 |
55 | nosh-cs (1.8.1-0ubuntu3) precise; urgency=low
56 |
57 | * Fixed - error with enabling mcrypt extension for PHP for Ubuntu 14.04 LTS
58 |
59 | -- Michael Shihjay Chen Mon, 14 Jul 2014 00:45:37 -0700
60 |
61 | nosh-cs (1.8.1-0ubuntu2) precise; urgency=low
62 |
63 | * Fixed - error with Ubuntu 14.04 LTS installations regarding mcrypt.ini
64 |
65 | -- Michael Shihjay Chen Sun, 13 Jul 2014 23:35:53 -0700
66 |
67 | nosh-cs (1.8.1-0ubuntu1) precise; urgency=low
68 |
69 | * Updated - ICD-10 database installation.
70 |
71 | -- Michael Shihjay Chen Thu, 01 May 2014 19:22:24 -0700
72 |
73 | nosh-cs (1.8.0-0ubuntu11) precise; urgency=low
74 |
75 | * Fixed - removed sudo command in installer (not needed).
76 |
77 | -- Michael Shihjay Chen Tue, 01 Apr 2014 11:52:24 -0700
78 |
79 | nosh-cs (1.8.0-0ubuntu10) precise; urgency=low
80 |
81 | * Fixed - templates file error.
82 |
83 | -- Michael Shihjay Chen Sat, 29 Mar 2014 18:22:33 -0700
84 |
85 | nosh-cs (1.8.0-0ubuntu9) precise; urgency=low
86 |
87 | * Update - Ability to personalize visit types and CPT codes.
88 |
89 | -- Michael Shihjay Chen Sat, 29 Mar 2014 15:41:57 -0700
90 |
91 | nosh-cs (1.8.0-0ubuntu8) precise; urgency=low
92 |
93 | * Update - Prevent error in script if installation directory exists.
94 |
95 | -- Michael Shihjay Chen Thu, 27 Mar 2014 16:08:07 -0700
96 |
97 | nosh-cs (1.8.0-0ubuntu7) precise; urgency=low
98 |
99 | * Fixed - Error in installation script.
100 |
101 | -- Michael Shihjay Chen Thu, 27 Mar 2014 15:47:04 -0700
102 |
103 | nosh-cs (1.8.0-0ubuntu6) precise; urgency=low
104 |
105 | * Fixed - Error in postinit script.
106 |
107 | -- Michael Shihjay Chen Thu, 27 Mar 2014 15:45:35 -0700
108 |
109 | nosh-cs (1.8.0-0ubuntu5) precise; urgency=low
110 |
111 | * Fixed - Internal server errors when using Apache < 2.4.
112 |
113 | -- Michael Shihjay Chen Thu, 27 Mar 2014 10:08:07 -0700
114 |
115 | nosh-cs (1.8.0-0ubuntu4) precise; urgency=low
116 |
117 | * Updated - Enable rewrite module for apache in installation scripts.
118 |
119 | -- Michael Shihjay Chen Wed, 26 Mar 2014 22:50:53 -0700
120 |
121 | nosh-cs (1.8.0-0ubuntu3) precise; urgency=low
122 |
123 | * Updated - Older distributions (i.e. precise) not getting apache conf file.
124 |
125 | -- Michael Shihjay Chen Wed, 26 Mar 2014 13:42:49 -0700
126 |
127 | nosh-cs (1.8.0-0ubuntu2) precise; urgency=low
128 |
129 | * Updated - Removed old entries in uninstall script.
130 |
131 | -- Michael Shihjay Chen Wed, 26 Mar 2014 10:46:05 -0700
132 |
133 | nosh-cs (1.8.0-0ubuntu1) precise; urgency=low
134 |
135 | * MAJOR UPDATE - Switched to Laravel PHP framework for built-in security and easy future development.
136 | * Updated - Consolidation of code to reduce redundnacy and errors for future updates.
137 | * Updated - Modular PHP and javascript framework easy plug-and-play of elements.
138 | * Updated - Automatic updating of the NOSH application files through GitHub when commits are pushed.
139 | * New Feature - User defined HPI, ROS, and PE templates.
140 | * New Feature - Assistant users can now create and sign clinical support visit notes.
141 | * New Feature - Now with encounter templates.
142 | * New Feature - Clinical support added as an encounter template.
143 | * New Feature - Ability to bring up messaging and scheduling features without opening up a new window/tab.
144 | * New Feature - Import and view C-CDA's with code from bluebutton.js.
145 | * New Feature - Ability to reconcile imported C-CDA's into patient's chart.
146 | * New Feature - Visit types are now able to be individualized to provider.
147 | * New Feature - Ability to print flattened HCFA-1500 pdf file.
148 | * New Feature - Ability to set up future orders and to process these orders in a a clinical support visit note.
149 | * New Feature - Ability to view growth charts form the main chart instead of just in an encounter.
150 | * Fixed - Numerous bug fixes and javascript errors.
151 | * Updated - Updated ICD9 and Medication database files.
152 | * Updated - User interface updated with the use purecss.io.
153 | * Updated - User interface updated to allow better use of tablet/touchscreen capbilities.
154 |
155 | -- Michael Shihjay Chen Wed, 26 Mar 2014 09:37:33 -0700
156 |
157 | nosh-cs (1.7.3-0ubuntu13) precise; urgency=low
158 |
159 | * Updated - MetroFax fax recognition changed.
160 | * Updated - Added delete test reconciliation script.
161 | * Fixed - PHP error on Billing user chart account.
162 | * Fixed - Portal accounts referrence incorrect in dashboard.
163 |
164 | -- Michael Shihjay Chen Mon, 27 Jan 2014 10:01:42 -0800
165 |
166 | nosh-cs (1.7.3-0ubuntu12) precise; urgency=low
167 |
168 | * Fixed - CSS issues with physical examination.
169 | * Fixed - C-CDA exporting function output resulting in PHP error in some cases.
170 | * Fixed - Backup script updated so that duplicates are avoided.
171 | * Fixed - Prevent appointment reminders from being generated if previous appointment is edited.
172 |
173 | -- Michael Shihjay Chen Tue, 21 Jan 2014 14:48:28 -0800
174 |
175 | nosh-cs (1.7.3-0ubuntu11) precise; urgency=low
176 |
177 | * Fixed - PHP Error when database is not detected during install.
178 |
179 | -- Michael Shihjay Chen Tue, 14 Jan 2014 14:45:38 -0800
180 |
181 | nosh-cs (1.7.3-0ubuntu10) precise; urgency=low
182 |
183 | * Fixed - Sending a message to patient from chart directly was not working correctly.
184 |
185 | -- Michael Shihjay Chen Fri, 10 Jan 2014 17:19:42 -0800
186 |
187 | nosh-cs (1.7.3-0ubuntu9) precise; urgency=low
188 |
189 | * Fixed - Duplication of input text for assistant user levels when opening encounter.
190 |
191 | -- Michael Shihjay Chen Thu, 09 Jan 2014 11:46:06 -0800
192 |
193 | nosh-cs (1.7.3-0ubuntu8) precise; urgency=low
194 |
195 | * Fixed - Issue with messaging functions not working in assistant user.
196 |
197 | -- Michael Shihjay Chen Wed, 08 Jan 2014 15:24:58 -0800
198 |
199 | nosh-cs (1.7.3-0ubuntu7) precise; urgency=low
200 |
201 | * Fixed - Issue with special characters truncating messasges to patients with lab results.
202 |
203 | -- Michael Shihjay Chen Wed, 08 Jan 2014 10:58:27 -0800
204 |
205 | nosh-cs (1.7.3-0ubuntu6) precise; urgency=low
206 |
207 | * New Feature - Instructions added to patient portal.
208 | * Update - Changed Message To field in patient portal to be a multiple select box to avoid sending message to unknown recipients.
209 | * Fixed - Errors with patient portal registration when adding and editing from the admin page.
210 | * Fixed - PHP error warnings when patient initially logs in for the first time.
211 |
212 | -- Michael Shihjay Chen Tue, 07 Jan 2014 16:15:36 -0800
213 |
214 | nosh-cs (1.7.3-0ubuntu5) precise; urgency=low
215 |
216 | * Fixed - Error with creating database installs on some systems.
217 |
218 | -- Michael Shihjay Chen Wed, 01 Jan 2014 17:06:20 -0800
219 |
220 | nosh-cs (1.7.3-0ubuntu4) precise; urgency=low
221 |
222 | * Fixed - Multiple encounters printed in batch file for billing if there were addendums made.
223 |
224 | -- Michael Shihjay Chen Fri, 20 Dec 2013 12:06:45 -0800
225 |
226 | nosh-cs (1.7.3-0ubuntu3) precise; urgency=low
227 |
228 | * Fixed - Restart button defined.
229 |
230 | -- Michael Shihjay Chen Thu, 19 Dec 2013 17:08:54 -0800
231 |
232 | nosh-cs (1.7.3-0ubuntu2) precise; urgency=low
233 |
234 | * Fixed - Hide last tab in admin setup panel.
235 |
236 | -- Michael Shihjay Chen Thu, 19 Dec 2013 15:29:11 -0800
237 |
238 | nosh-cs (1.7.3-0ubuntu1) precise; urgency=low
239 |
240 | * New Feature - Ability to export all charts as a ZIP file, individual PDF.
241 | * New Feature - Ability to export patient demographics as CSV files.
242 | * New Feature - Ability to message to patient directly from the chart.
243 | * New Feature - Ability to enter fields 32B and 33B in HCFA PDF form.
244 | * Updated - Prevent installation controller from activating if NOSH is already installed.
245 | * Updated - Prevent the mixing of 1-4 diagnosis codes with 5-8 diagnosis codes with billing.
246 | * Updated - Prevent patients from registering for patient portal more than once.
247 |
248 | -- Michael Shihjay Chen Thu, 19 Dec 2013 13:20:46 -0800
249 |
250 | nosh-cs (1.7.2-0ubuntu15) precise; urgency=low
251 |
252 | * Fixed - Values not always saved properly if any special characters that are not encoded prior to post.
253 |
254 | -- Michael Shihjay Chen Fri, 06 Dec 2013 17:19:38 -0800
255 |
256 | nosh-cs (1.7.2-0ubuntu14) precise; urgency=low
257 |
258 | * Fixed - Sales tax not being calculated correctly in some instances.
259 |
260 | -- Michael Shihjay Chen Fri, 06 Dec 2013 09:56:25 -0800
261 |
262 | nosh-cs (1.7.2-0ubuntu13) precise; urgency=low
263 |
264 | * Fixed - Missing encounter provider field in new encounters dialog for assistant users.
265 |
266 | -- Michael Shihjay Chen Thu, 05 Dec 2013 13:59:48 -0800
267 |
268 | nosh-cs (1.7.2-0ubuntu12) precise; urgency=low
269 |
270 | * Fixed - Error with receiving faxes.
271 |
272 | -- Michael Shihjay Chen Wed, 04 Dec 2013 16:18:28 -0800
273 |
274 | nosh-cs (1.7.2-0ubuntu11) precise; urgency=low
275 |
276 | * Updated - Installation script now includes ability to run update script.
277 | * Updated - Code for timed reminders, fax retrevials, and backups cleaned up.
278 | * Fixed - Electronic order sending giving errors when just Bill Client for insurance.
279 | * Fixed - Supplements purchased sending PHP error.
280 | * Fixed - Inactivated supplements in inventory include those with negative quantities.
281 |
282 | -- Michael Shihjay Chen Tue, 03 Dec 2013 10:17:06 -0800
283 |
284 | nosh-cs (1.7.2-0ubuntu10) precise; urgency=low
285 |
286 | * New Feature - Scan documents folder is now regularly polled and pulled into the database.
287 | * Fixed - Scanned documents not being assigned a practice id.
288 | * Fixed - Missing NPI in billing compilation script.
289 |
290 | -- Michael Shihjay Chen Tue, 03 Dec 2013 09:22:18 -0800
291 |
292 | nosh-cs (1.7.2-0ubuntu9) precise; urgency=low
293 |
294 | * Fixed - Creating new encounters and received faxes not assigned practice id.
295 |
296 | -- Michael Shihjay Chen Mon, 02 Dec 2013 15:32:55 -0800
297 |
298 | nosh-cs (1.7.2-0ubuntu8) precise; urgency=low
299 |
300 | * Fixed - Problem with mysqli driver with update detection script.
301 | * Fixed - Problem with reminders not sending out.
302 |
303 | -- Michael Shihjay Chen Sun, 01 Dec 2013 18:28:40 -0800
304 |
305 | nosh-cs (1.7.2-0ubuntu7) precise; urgency=low
306 |
307 | * Update - Updated system to use mysqli driver instead of mysql as it is depreciated as of PHP 5.5.
308 | * Fixed - Script error for postinstall if apache ssl is enabled.
309 |
310 | -- Michael Shihjay Chen Sat, 30 Nov 2013 20:20:47 -0800
311 |
312 | nosh-cs (1.7.2-0ubuntu6) precise; urgency=low
313 |
314 | * Fixed - Upgrade errors where incorrect table column is entered for messaging.
315 |
316 | -- Michael Shihjay Chen Fri, 29 Nov 2013 14:18:31 -0800
317 |
318 | nosh-cs (1.7.2-0ubuntu4) precise; urgency=low
319 |
320 | * Fixed - Upgrade error in front.php.
321 |
322 | -- Michael Shihjay Chen Thu, 28 Nov 2013 00:09:26 -0800
323 |
324 | nosh-cs (1.7.2-0ubuntu3) precise; urgency=low
325 |
326 | * Fixed - Post installation errors if ftpshared group does not exist.
327 | * Fixed - Upgrade database error in script.
328 |
329 | -- Michael Shihjay Chen Wed, 27 Nov 2013 22:44:03 -0800
330 |
331 | nosh-cs (1.7.2-0ubuntu2) precise; urgency=low
332 |
333 | * Fixed - Installation error where ssh folder is not empty.
334 |
335 | -- Michael Shihjay Chen Wed, 27 Nov 2013 15:16:10 -0800
336 |
337 | nosh-cs (1.7.2-0ubuntu1) precise; urgency=low
338 |
339 | * New Feature - Tagging features available for Messages, Telephone Messages, and Encounters.
340 | * New Feature - Ability to save CPT favorites and default units for a specific CPT code.
341 | * New Feature - Ability to search for active supplements in super query.
342 | * New Feature - Ability to view and chart electronically downloaded lab results.
343 | * New Feature - Direct interface with PeaceHealth Labs.
344 | * New Feature - Patient reminders automatically sent upon creation or change of a future appointment.
345 | * Update - Reworked code to allow for more than 1 practice in a NOSH instance.
346 | * Update - Ability to enter new password whenever a new user is added.
347 | * Update - Clicking on a grid header will open and close the grid instead of just clicking the arrow.
348 | * Update - Orders summary now includes specific instructions for supplement orders.
349 | * Update - Provider signature editor incorporated in provider user configuration dialog in dashboard.
350 | * Update - Reduced reduantant search entries for medication dosages when performing autocomplete.
351 | * Fixed - Error with billing compiling when there is an empty procedure CPT code.
352 | * Fixed - Error with saving bills under Assistant user level.
353 | * Fixed - Some printing errors when no billing is assigned for an encounter.
354 | * Fixed - CPT grid not loading correctly in configuration when Billing tab is opened in encounters.
355 | * Fixed - Super query not searching active medications or issues.
356 | * Fixed - Addendum encounters keep reappearing when encounter initiated by assistant user.
357 | * Fixed - Some large batch HCFA-1500's with numerous CPT codes were not printing properly.
358 | * Fixed - Billing elements not saved properly with PHP error codes with numerous CPT codes and diagnoses codes.
359 | * Fixed - Display and button alignments of ROS and PE dialogs not compatible with certain browsers and devices.
360 | * Fixed - Dashboard page not logging out after 30 minutes of inactivity.
361 |
362 | -- Michael Shihjay Chen Wed, 27 Nov 2013 10:45:38 -0700
363 |
364 | nosh-cs (1.7.1-0ubuntu10) precise; urgency=low
365 |
366 | * Fixed - Signatures and logos not always showing up on PDF's.
367 |
368 | -- Michael Shihjay Chen Fri, 18 Oct 2013 13:32:35 -0700
369 |
370 | nosh-cs (1.7.1-0ubuntu9) precise; urgency=low
371 |
372 | * Fixed - Error in installation script, blank page.
373 | * Fixed - Some encounters not able to be printed if no billing codes entered.
374 |
375 | -- Michael Shihjay Chen Fri, 18 Oct 2013 07:49:32 -0700
376 |
377 | nosh-cs (1.7.1-0ubuntu8) precise; urgency=low
378 |
379 | * Fixed - Blank out Box 17 and 17A in HCFA (temporary) due to billing issues for some providers.
380 |
381 | -- Michael Shihjay Chen Fri, 04 Oct 2013 10:17:20 -0700
382 |
383 | nosh-cs (1.7.1-0ubuntu7) precise; urgency=low
384 |
385 | * Fixed - Bills not automatically saving when new CPT codes are added in the encounters.
386 |
387 | -- Michael Shihjay Chen Fri, 04 Oct 2013 09:27:20 -0700
388 |
389 | nosh-cs (1.7.1-0ubuntu6) precise; urgency=low
390 |
391 | * Fixed - Special instructions for supplements not showing up on messages or encounters.
392 |
393 | -- Michael Shihjay Chen Thu, 19 Sep 2013 08:47:20 -0700
394 |
395 | nosh-cs (1.7.1-0ubuntu5) precise; urgency=low
396 |
397 | * Fixed - Elements not removed in preview when remove button is pressed.
398 |
399 | -- Michael Shihjay Chen Wed, 18 Sep 2013 09:27:27 -0700
400 |
401 | nosh-cs (1.7.1-0ubuntu4) precise; urgency=low
402 |
403 | * Fixed - Remove button not appearing for editing form elements with options.
404 | * Fixed - No title for form header on patient form.
405 |
406 | -- Michael Shihjay Chen Tue, 17 Sep 2013 13:07:41 -0700
407 |
408 | nosh-cs (1.7.1-0ubuntu3) precise; urgency=low
409 |
410 | * Fixed - Fixed install routine if scans directory did not exist.
411 |
412 | -- Michael Shihjay Chen Mon, 16 Sep 2013 17:05:20 -0700
413 |
414 | nosh-cs (1.7.1-0ubuntu2) precise; urgency=low
415 |
416 | * New Feature - Ability for assistant to transfer patient forms.
417 |
418 | -- Michael Shihjay Chen Mon, 16 Sep 2013 14:54:54 -0700
419 |
420 | nosh-cs (1.7.1-0ubuntu1) precise; urgency=low
421 |
422 | * New Feature - Patient forms.
423 | * New Feature - Ability to create patient form templates by provider/assistant.
424 | * New Feature - Ability to incorporate patient form responses into encounter elements.
425 | * Fixed - Scans folder losing permissions. Set default to full permissions for all users.
426 | * Fixed - Inability for users to log in with the same username when account was previously inactivated.
427 | * Fixed - Updating prescriptions from rCopia with messages not working correctly.
428 | * Fixed - Updating age of patient was not working correctly when editing demographics.
429 | * Fixed - Adding new referral provider was not being chosen after saving entry.
430 |
431 | -- Michael Shihjay Chen Mon, 16 Sep 2013 11:07:09 -0700
432 |
433 | nosh-cs (1.7.0-0ubuntu3) precise; urgency=low
434 |
435 | * Fixed - Errors with loading SNOMED extension script.
436 |
437 | -- Michael Shihjay Chen Mon, 09 Sep 2013 22:09:53 -0700
438 |
439 | nosh-cs (1.7.0-0ubuntu2) precise; urgency=low
440 |
441 | * Update - Assistant now has ability to enter supplement purcahses.
442 | * Update - Reminder system has debugging abilities.
443 |
444 | -- Michael Shihjay Chen Thu, 05 Sep 2013 13:01:34 -0700
445 |
446 | nosh-cs (1.7.0-0ubuntu1) precise; urgency=low
447 |
448 | * New Feature - Schedule views and date last viewed saved automatically.
449 | * New Feature - Lot number field in supplements inventory.
450 | * New Feature - Patient instructions from Vivacare (register for free).
451 | * New Feature - Ability for provider to select time increments in schedule in dashboard (default 20).
452 | * New Feature - SNOMED CT database integration.
453 | * New Feature - Configuration of templates and CPT codes for provider and assistant users.
454 | * New Feature - Ability to customize Box 31 and 32 of HCFA-1500 printout based on insurance provider.
455 | * New Feature - Export C-CDA files from encounters.
456 | * Update - Scheduled appointments are in the time zone of the server (not client browser).
457 | * Update - Minimum number of characters before autocomplete for patient is reduced to 1.
458 | * Update - UI for Admin setup views improved.
459 | * Update - rCopia sync is now coded in NOSH instead of Mirth to reduce connection errors.
460 | * Update - Changed CAPTCHA method for registration so that it is more compatible to touchscreen devices.
461 | * Update - Updated NOSH capture of incoming faxes from RingCentral and MetroFax.
462 | * Update - Ability for provider and assistant user to configure CPT and orders templates from encounter and chart.
463 | * Update - Ability to select for Group Health Plan, FECA, and ChampVA as insurance types.
464 | * Update - UI improvements in theme changer and referrals dialog.
465 | * Fixed - Removed purchased supplements from HCFA-1500 claims.
466 | * Fixed - Counting for Referrals incorrect in Documents dialog.
467 | * Fixed - Inability to enter payments for encounters under Encounters Submitted grid in Financials.
468 | * Fixed - Autocomplete not showing correctly under MTM dialogs.
469 | * Fixed - Autocomplete not showing correctly under order dialogs.
470 | * Fixed - Buttons on eye exam in PE were not working correctly.
471 | * Fixed - Prevent bills that have no insurance assigned from being resubmitted, causing HCFA-1500 not to print.
472 | * Fixed - Inability for billing user to access Financial page from dashboard.
473 | * Fixed - Error with purging of extensions log.
474 | * Fixed - Preview of encounter gives off error if CPT codes are saved before billing is saved.
475 | * Fixed - Supplements inadvertenly creating empty bill even if Purchase button was not clicked.
476 | * Fixed - Draft messages not being saved properly.
477 | * Fixed - Fax capture is acquiring duplicate entries.
478 | * Fixed - Printing chart was including old versions of encounters when addendum is made.
479 |
480 | -- Michael Shihjay Chen Thu, 05 Sep 2013 05:30:59 -0700
481 |
482 | nosh-cs (1.6.9-0ubuntu8) precise; urgency=low
483 |
484 | * New Feature - CDC immunization recommendations incorporated into Prevention dialog.
485 | * Fixed - Orders not being copied to new addendums properly.
486 |
487 | -- Michael Shihjay Chen Thu, 01 Aug 2013 10:24:30 -0700
488 |
489 | nosh-cs (1.6.9-0ubuntu7) precise; urgency=low
490 |
491 | * Fixed - Printing patient instructions not working consistently. Autosave enabled.
492 |
493 | -- Michael Shihjay Chen Wed, 31 Jul 2013 19:18:33 -0700
494 |
495 | nosh-cs (1.6.9-0ubuntu6) precise; urgency=low
496 |
497 | * Fixed - Warning not provided if no provider is indicated for orders.
498 |
499 | -- Michael Shihjay Chen Wed, 31 Jul 2013 11:38:06 -0700
500 |
501 | nosh-cs (1.6.9-0ubuntu5) precise; urgency=low
502 |
503 | * New Feature - Encounter tabs automatically save if switching to new tabs.
504 | * New Feature - Ability to click All Normal for each organ system in entirety for physical exam.
505 | * Fixed - CPT dialog not properly checking for empty ICD9 pointers.
506 | * Fixed - Printing invoices, HCFA 1500 forms, and patient instructions more reliable with first click.
507 |
508 | -- Michael Shihjay Chen Tue, 30 Jul 2013 11:02:35 -0700
509 |
510 | nosh-cs (1.6.9-0ubuntu4) precise; urgency=low
511 |
512 | * New Feature - Number of documents indicated on grid headers.
513 | * Updated - New modifier 52 for billing.
514 | * Updated - Jquery code for checkbox attributes.
515 | * Updated - New button for deep tendon reflexes exam.
516 |
517 | -- Michael Shihjay Chen Sat, 27 Jul 2013 22:36:54 -0700
518 |
519 | nosh-cs (1.6.9-0ubuntu3) precise; urgency=low
520 |
521 | * Fixed - Duplicate text input values after entering physical exam tab.
522 | * Fixed - Formatting error for practice logo on print outs.
523 | * Fixed - Sending medications of faxes not being sent properly.
524 | * Fixed - Missing signature on referral page.
525 | * Fixed - Errors on encounter preview and printing.
526 | * Fixed - Formatting errors for printing reports.
527 | * Fixed - Print orders summary button not activating the first time for provider user.
528 |
529 | -- Michael Shihjay Chen Fri, 26 Jul 2013 17:43:54 -0700
530 |
531 | nosh-cs (1.6.9-0ubuntu2) precise; urgency=low
532 |
533 | * New Feature - Ability for assistant user to enter procedures.
534 |
535 | -- Michael Shihjay Chen Wed, 24 Jul 2013 16:52:23 -0700
536 |
537 | nosh-cs (1.6.9-0ubuntu1) precise; urgency=low
538 |
539 | * New Feature - Ability to crop and scale practice logo.
540 |
541 | -- Michael Shihjay Chen Wed, 24 Jul 2013 08:47:19 -0700
542 |
543 | nosh-cs (1.6.8-0ubuntu2) precise; urgency=low
544 |
545 | * New Feature - Ability to change themes.
546 | * Updated - Orders UI reworked to be more intuitive.
547 | * Updated - Ability to assistant to designate provider for orders.
548 | * Updated - Ability to resend orders without clicking Edit first.
549 | * Fixed - Workaround for IOS devices (Safari browser) aggresively caching AJAX requests.
550 | * Fixed - Reminder method did not clear out when selected to none.
551 | * Fixed - Appointment reminders error when no reminder method.
552 | * Fixed - Printing invoice error from encounters.
553 | * Fixed - Respirations not appearing on past vitals under encounters.
554 | * Fixed - Labs tab not loading correctly.
555 | * Fixed - Ability to determine visit types and provider exceptions went missing under Admin.
556 |
557 | -- Michael Shihjay Chen Wed, 17 Jul 2013 11:20:12 -0700
558 |
559 | nosh-cs (1.6.8-0ubuntu1) precise; urgency=low
560 |
561 | * New Feature - Ability to add additional message to e-mailed appointment reminders.
562 | * New Feature - Ability to export demographics to CSV file from Office page.
563 | * New Feature - Ability to add guardian information to demographics.
564 | * New Feature - Supplements can be purchased and billing tracked through Messages.
565 | * Updated - Additional selections for marital status.
566 | * Updated - Patient portal schedule will not show specific details of repeating events for provider.
567 | * Updated - Reconfigured insurance dialog boxes to be easily understood.
568 | * Updated - Login error messages are better understood.
569 | * Updated - Saving supplements inventory does not require expiration date.
570 | * Updated - Prune extensions entries in log > 30 days.
571 | * Fixed - CSV export of immunizations did not work.
572 | * Fixed - Display problems on some Webkit browsers; related to fullCalendar plugin.
573 | * Fixed - Error messages on send intraoffice messages to patients.
574 | * Fixed - Backup was not deleting files more than 30 days old.
575 | * Fixed - Text message reminders having too many characters.
576 | * Fixed - Supplements inventory not transferring CPT charge correctly.
577 | * Fixed - Supplements search not displaying properly when dosage does not include a whitespace.
578 | * Fixed - Billing not incorporating units correctly in calculation.
579 | * Fixed - GI template was difficult to visualize.
580 | * Fixed - Male GU tmeplate was difficult to visualize.
581 | * Fixed - Accordion heights for PE too long on Musculoskeletal.
582 | * Fixed - Orders giving off errors if no signature is set.
583 | * Fixed - Medications list not updating after rCopia update button is pressed.
584 | * Fixed - Recurring events not being saved or displayed correctly.
585 | * Fixed - Billing user unable to print out invoices.
586 |
587 | -- Michael Shihjay Chen Sun, 16 Jun 2013 23:24:52 -0700
588 |
589 | nosh-cs (1.6.7-0ubuntu2) precise; urgency=low
590 |
591 | * New Feature - Demographics dialog opens automatically when adding a new patient.
592 | * New Feature - Ability for provider to see other provider's schedules.
593 | * Fixed - Inability to associate encounter with appointment by assistant.
594 |
595 | -- Michael Shihjay Chen Thu, 13 Jun 2013 14:49:23 -0700
596 |
597 | nosh-cs (1.6.7-0ubuntu1) precise; urgency=low
598 |
599 | * New Feature - Supplements inventory.
600 | * New Feature - Added diagnosis pointers in billing details.
601 | * New Feature - Previous prescribed auto search function for medications and supplements.
602 | * New Feature - Added additional grids in patient portal (immunizations, allergies, supplements).
603 | * New Feature - Ability to print schedule without corruption of elements.
604 | * Updated - Confirm if encounter is associated with appointment.
605 | * Updated - Allow patient to schedule appointment irregardless if it is at the beginning of the hour.
606 | * Updated - ICD9 database.
607 | * Updated - Increased number of entries for duration of visit types on schedule.
608 | * Updated - CSS of chart menu.
609 | * Updated - Additional defaults for Billing Service under payment type.
610 | * Updated - CPT import is up-to-date for AMA text files.
611 | * Updated - Patient portal now only allows printing of patient instructions when clicking on encounter.
612 | * Fixed - Fixed AJAX timing on tooltips for ROS.
613 | * Fixed - Fixed AJAX timing on tooltips for PE.
614 | * Fixed - Assistant error on load for Orders.
615 | * Fixed - ICD9 database scraper not obtaining all codes.
616 | * Fixed - Visit type not getting most up-to-date duration if any changes are made.
617 | * Fixed - Assistant error on load for MTM module.
618 |
619 | -- Michael Shihjay Chen Wed, 05 Jun 2013 16:34:01 -0700
620 |
621 | nosh-cs (1.6.6-0ubuntu4) precise; urgency=low
622 |
623 | * Fixed - Javascript error on installation.
624 |
625 | -- Michael Shihjay Chen Fri, 24 May 2013 19:37:03 -0700
626 |
627 | nosh-cs (1.6.6-0ubuntu3) precise; urgency=low
628 |
629 | * Fixed - Orders, referrals, and RX header format issues.
630 |
631 | -- Michael Shihjay Chen Wed, 08 May 2013 15:12:43 -0700
632 |
633 | nosh-cs (1.6.6-0ubuntu2) precise; urgency=low
634 |
635 | * Fixed - Installation errors.
636 |
637 | -- Michael Shihjay Chen Wed, 10 Apr 2013 22:52:21 -0700
638 |
639 | nosh-cs (1.6.6-0ubuntu1) precise; urgency=low
640 |
641 | * Fixed - Fixed PDF header not formatting correctly without a practice logo.
642 | * Updated - Search bar header updated.
643 |
644 | -- Michael Shihjay Chen Wed, 10 Apr 2013 16:40:46 -0700
645 |
646 | nosh-cs (1.6.5-0ubuntu2) precise; urgency=low
647 |
648 | * Fixed - Issue with patient not being able to create a new message.
649 |
650 | -- Michael Shihjay Chen Tue, 02 Apr 2013 09:47:29 -0700
651 |
652 | nosh-cs (1.6.5-0ubuntu1) precise; urgency=low
653 |
654 | * Fixed - rCopia extension 2-way sync issues with updating medications.
655 | * Updated - Medicare Medication Therapy Management extension additions.
656 | * Updated - Printing to PDF modifications.
657 | * Cleaned up fax module code.
658 |
659 | -- Michael Shihjay Chen Thu, 28 Mar 2013 11:25:11 -0700
660 |
661 | nosh-cs (1.6.4-0ubuntu1) precise; urgency=low
662 |
663 | * Fixed - Viewing encounters in modal view for biller.
664 | * Fixed - rCopia extension 2-way sync.
665 | * Updated - Medicare Medication Therapy Management extension additions.
666 |
667 | -- Michael Shihjay Chen Tue, 19 Mar 2013 17:08:32 -0700
668 |
669 | nosh-cs (1.6.3-0ubuntu1) precise; urgency=low
670 |
671 | * Fixed - Inadverdent reloading of ajax tabs in encounters.
672 | * Updated - mPDF to version 5.6.
673 | * Updated - Letters converted to new template engine.
674 | * New Feature - Medicare Medication Therapy Management extension.
675 | * New Feature - Ability to add practice logo.
676 |
677 | -- Michael Shihjay Chen Tue, 12 Mar 2013 03:26:50 -0700
678 |
679 | nosh-cs (1.6-0ubuntu2) precise; urgency=low
680 |
681 | * Fixed - Update version error.
682 |
683 | -- Michael Shihjay Chen Mon, 04 Mar 2013 05:24:17 -0800
684 |
685 | nosh-cs (1.6-0ubuntu1) precise; urgency=low
686 |
687 | * Fixed - Installation of medication tables incomplete.
688 | * Fixed - Growl window was yellow color, difficult to read.
689 | * Updated - jQuery UI 1.10.1.
690 | * New Feature - Ability to restore lost passwords to account.
691 | * New Feature - Provider and assistant can create registration code for patients.
692 |
693 | -- Michael Shihjay Chen Fri, 01 Mar 2013 17:10:52 -0800
694 |
695 | nosh-cs (1.5-0ubuntu6) precise; urgency=low
696 |
697 | * Fixed - Installation version was not set.
698 | * New Feature - Provider information editor in dashboard.
699 |
700 | -- Michael Shihjay Chen Tue, 26 Feb 2013 22:41:28 -0800
701 |
702 | nosh-cs (1.5-0ubuntu5) precise; urgency=low
703 |
704 | * Fixed - Extensions selection not working correctly.
705 | * Fixed - Tooltip for ICD search blocking autocompete values.
706 | * Fixed - Installation errors following CPT table selection.
707 |
708 | -- Michael Shihjay Chen Tue, 26 Feb 2013 15:15:33 -0800
709 |
710 | nosh-cs (1.5-0ubuntu4) precise; urgency=low
711 |
712 | * Fixed - Office view pointing to depreciated time picker plugin.
713 |
714 | -- Michael Shihjay Chen Sun, 24 Feb 2013 11:42:49 -0800
715 |
716 | nosh-cs (1.5-0ubuntu3) precise; urgency=low
717 |
718 | * Fixed - Messaging click on cell for inbox was not working correctly.
719 | * Fixed - Print encounters preview not working correctly.
720 | * Fixed - Print documents viewer not removing temporary files.
721 | * Fixed - Billing user graphical user interface problems.
722 | * Fixed - Medication database was not being referred correctly in search.
723 |
724 | -- Michael Shihjay Chen Sat, 23 Feb 2013 21:29:59 -0800
725 |
726 | nosh-cs (1.5-0ubuntu2) precise; urgency=low
727 |
728 | * Fixed - Schedule time pickers incorrect.
729 |
730 | -- Michael Shihjay Chen Thu, 21 Feb 2013 20:10:10 -0800
731 |
732 | nosh-cs (1.5-0ubuntu1) precise; urgency=low
733 |
734 | * Fixed - Extensions php error and ajax request error.
735 | * Fixed - Billing history not being retrieved.
736 | * Fixed - ROS CV template not showing up correctly.
737 | * Fixed - Duplicate entries with autocomplete.
738 | * Update - Updated ICD-9 database to 2013.
739 | * Update - Updated medication database to 2013.
740 | * Update - jQuery updated to v1.9.1.
741 | * Update - jqQgrid updated to v4.4.4.
742 | * Update - jQuery UI updated to v1.10.1.
743 | * Update - Use of jQuery UI toottips instead of BeautyTips (depreciated).
744 | * Update - Configured CSS to be more tablet friendly.
745 | * New Feature - DrFirst RCopia extension.
746 | * New Feature - Updox extension.
747 | * New Feature - Installation script for Updox (optional)
748 | * New Feature - Ability to create addendums.
749 | * New Feature - Configured to be tablet friendly.
750 |
751 | -- Michael Shihjay Chen Thu, 21 Feb 2013 18:07:29 -0800
752 |
753 | nosh-cs (1.4-0ubuntu2) precise; urgency=low
754 |
755 | * Fixed - Updated postinst script to increase upload document size.
756 | * Fixed - Getting scanned documents error.
757 | * Fixed - ROS male all-normal button error.
758 | * Fixed - ROS templates not loading correctly for adults.
759 | * Fixed - Dashboard, draft messages and encounters not displaying properly with updated version of PHP.
760 | * New Feature - Ability for patients to enter and update demographic/insurance info on patient portal.
761 | * New Feature - Batch HCFA-1500 printing.
762 | * New Feature - Ability to jump directly to encounter from dashboard drafts list.
763 | * New Feature - Installation script for MirthConnect (optional)
764 |
765 | -- Michael Shihjay Chen Wed, 16 Jan 2013 09:53:43 -0800
766 |
767 | nosh-cs (1.4-0ubuntu1) precise; urgency=low
768 |
769 | * Fixed - Installation error of cron.d script.
770 |
771 | -- Michael Shihjay Chen Fri, 28 Dec 2012 11:14:24 -0800
772 |
--------------------------------------------------------------------------------
/debian/compat:
--------------------------------------------------------------------------------
1 | 8
2 |
--------------------------------------------------------------------------------
/debian/config:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Source debconf library
4 | . /usr/share/debconf/confmodule
5 | db_version 2.0
6 | db_capb backup
7 | if ! [ -f /var/www/nosh/system/application/config/database.php ]; then
8 | STATE=1
9 | while [ "$STATE" != 0 -a "$STATE" != 5 ]; do
10 | case "$STATE" in
11 | 1)
12 | db_input critical noshemr/documents_directory || true
13 | ;;
14 | 2)
15 | db_input critical noshemr/mysql_database || true
16 | ;;
17 | 3)
18 | db_input critical noshemr/mysql_username || true
19 | ;;
20 | 4)
21 | db_input critical noshemr/mysql_password || true
22 | ;;
23 | esac
24 | if db_go; then
25 | STATE=$(($STATE + 1))
26 | else
27 | STATE=$(($STATE - 1))
28 | fi
29 | done
30 | fi
31 |
--------------------------------------------------------------------------------
/debian/control:
--------------------------------------------------------------------------------
1 | Source: nosh-cs
2 | Section: web
3 | Priority: optional
4 | Maintainer: Michael Shihjay Chen
5 | Build-Depends: debhelper (>= 8.0.0)
6 | Standards-Version: 3.9.2
7 | Homepage: http://noshemr.wordpress.com
8 | #Vcs-Git: git://git.debian.org/collab-maint/nosh-cs.git
9 | #Vcs-Browser: http://git.debian.org/?p=collab-maint/nosh-cs.git;a=summary
10 |
11 | Package: nosh-cs
12 | Architecture: any
13 | Depends: mysql-server, apache2, curl, php5, php5-mysql, php5-imap, php5-mcrypt, php5-imagick, php5-gd, php5-cli, php5-curl, php5-common, libapache2-mod-php5, libdbi-perl, libdbd-mysql-perl, libssh2-1-dev, libssh2-php, php-soap, php-pear, imagemagick, pdftk, openssh-server
14 | Description: New Open Source Health ChartingSystem
15 | The NOSH ChartingSystem provides electronic medical records, personal health records, prescription writing,
16 | insurance billing, growth charts, vaccine management, and preventative services reminders specifically
17 | for the outpatient medical clinic .
18 | .
19 | To use NOSH ChartingSystem after installation, go to http://localhost/nosh .
20 | .
21 | The NOSH ChartingSystem project home page can be found at http://noshemr.wordpress.com .
22 |
--------------------------------------------------------------------------------
/debian/copyright:
--------------------------------------------------------------------------------
1 | Format: http://dep.debian.net/deps/dep5
2 | Upstream-Name: nosh-cs
3 | Source: http://launchpad.net/~shihjay2
4 |
5 | Files: etc/* usr/* var/*
6 | Copyright: 2011 Michael Shihjay Chen
7 | License: GNU Affero General Public License
8 | This program is free software: you can redistribute it and/or modify
9 | it under the terms of the GNU Affero General Public License as
10 | published by the Free Software Foundation, either version 3 of the
11 | License, or (at your option) any later version.
12 | .
13 | This program is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU Affero General Public License for more details.
17 | .
18 | You should have received a copy of the GNU Affero General Public License
19 | along with this program. If not, see .
20 |
21 | Files: debian/*
22 | Copyright: 2012 Michael Shihjay Chen
23 | License: GPL-2+
24 | This package is free software; you can redistribute it and/or modify
25 | it under the terms of the GNU General Public License as published by
26 | the Free Software Foundation; either version 2 of the License, or
27 | (at your option) any later version.
28 | .
29 | This package is distributed in the hope that it will be useful,
30 | but WITHOUT ANY WARRANTY; without even the implied warranty of
31 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32 | GNU General Public License for more details.
33 | .
34 | You should have received a copy of the GNU General Public License
35 | along with this program. If not, see
36 | .
37 | On Debian systems, the complete text of the GNU General
38 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
39 |
40 |
--------------------------------------------------------------------------------
/debian/docs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shihjay2/nosh-cs/ba08ebef956259ec0025c6f27159a7bdc47fe92d/debian/docs
--------------------------------------------------------------------------------
/debian/postinst:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # postinst script for nosh-cs
3 | #
4 | # see: dh_installdeb(1)
5 |
6 | set -e
7 |
8 | # summary of how this script can be called:
9 | # * `configure'
10 | # * `abort-upgrade'
11 | # * `abort-remove' `in-favour'
12 | #
13 | # * `abort-remove'
14 | # * `abort-deconfigure' `in-favour'
15 | # `removing'
16 | #
17 | # for details, see http://www.debian.org/doc/debian-policy/ or
18 | # the debian-policy package
19 |
20 | # Source debconf library
21 | . /usr/share/debconf/confmodule
22 | db_version 2.0
23 |
24 | # Constants and paths
25 | LOGDIR=/var/log/nosh
26 | LOG=$LOGDIR/installation_log
27 | WEB=/var/www
28 | NOSH=$WEB/nosh
29 | OLDNOSH=$WEB/oldnosh
30 | CONFIGDATABASEBACKUP=$OLDNOSH/system/application/config/database_backup.php
31 | CONFIGDATABASE=$OLDNOSH/system/application/config/database.php
32 | NOSHCRON=/etc/cron.d/nosh-cs
33 | WEB_GROUP=www-data
34 | WEB_USER=www-data
35 | if [ -d /etc/apache2/conf-enabled ]; then
36 | WEB_CONF=/etc/apache2/conf-enabled
37 | else
38 | WEB_CONF=/etc/apache2/conf.d
39 | fi
40 | # Check apache version
41 | APACHE_VER=$(apache2 -v | awk -F"[..]" 'NR<2{print $2}')
42 |
43 | log_only () {
44 | echo "$1"
45 | echo "`date`: $1" >> $LOG
46 | }
47 |
48 | unable_exit () {
49 | echo "$1"
50 | echo "`date`: $1" >> $LOG
51 | echo "EXITING.........."
52 | echo "`date`: EXITING.........." >> $LOG
53 | exit 1
54 | }
55 |
56 | get_settings () {
57 | echo `grep -i "^[[:space:]]*$1[[:space:]=]" $2 | cut -d \= -f 2 | cut -d \; -f 1 | sed "s/[ '\"]//gi"`
58 | }
59 |
60 | insert_settings () {
61 | sed -i 's%^[ ]*'"$1"'[ =].*$%'"$1"' = '"$2"'%' "$3"
62 | }
63 |
64 | case "$1" in
65 | configure)
66 | # Set up NOSH documents directory
67 | if [ -e $CONFIGDATABASE ]; then
68 | MYSQL_USERNAME=$(get_settings \$default_db_username $CONFIGDATABASE)
69 | MYSQL_PASSWORD=$(get_settings \$default_db_password $CONFIGDATABASE)
70 | MYSQL_DATABASE=nosh
71 | NOSH_DIR_PRE=$(mysql -u$MYSQL_USERNAME --password=$MYSQL_PASSWORD "nosh" -sN -e "select documents_dir from practiceinfo where practice_id = '1'")
72 | NOSH_DIR=${NOSH_DIR_PRE%?}
73 | else
74 | if db_get noshemr/documents_directory; then
75 | NOSH_DIR="$RET"
76 | fi
77 | if db_get noshemr/mysql_database; then
78 | MYSQL_DATABASE="$RET"
79 | fi
80 | if db_get noshemr/mysql_username; then
81 | MYSQL_USERNAME="$RET"
82 | fi
83 | if db_get noshemr/mysql_password; then
84 | MYSQL_PASSWORD="$RET"
85 | fi
86 | fi
87 | NEWNOSH=$NOSH_DIR/nosh-cs
88 | NEWNOSHTEST=$NEWNOSH/artisan
89 | TEMPCONFIGDATABASE=$NOSH_DIR/nosh-cs/.codeigniter.php
90 | NEWCONFIGDATABASE=$NOSH_DIR/nosh-cs/.env.php
91 | NOSHDIRFILE=$NEWNOSH/.noshdir
92 |
93 | # Create cron scripts
94 | if [ -f $NOSHCRON ]; then
95 | rm -rf $NOSHCRON
96 | fi
97 | if [ ! -f $LOG ]; then
98 | mkdir -p $LOGDIR
99 | touch $LOG
100 | fi
101 | touch $NOSHCRON
102 | echo "*/10 * * * * root $NEWNOSH/noshfax" >> $NOSHCRON
103 | echo "*/1 * * * * root $NEWNOSH/noshreminder" >> $NOSHCRON
104 | echo "0 0 * * * root $NEWNOSH/noshbackup" >> $NOSHCRON
105 | chown root.root $NOSHCRON
106 | chmod 644 $NOSHCRON
107 | log_only "Created NOSH ChartingSystem cron scripts."
108 |
109 | # Set up SFTP
110 | if ! getent group "ftpshared" > /dev/null 2>&1 ; then
111 | groupadd ftpshared
112 | log_only "Group ftpshared does not exist. Making group."
113 | else
114 | log_only "Group ftpshared already exists."
115 | fi
116 | if [ -d $FTPIMPORT ]; then
117 | log_only "The NOSH ChartingSystem SFTP directories already exist."
118 | else
119 | mkdir -p $FTPIMPORT
120 | mkdir -p $FTPEXPORT
121 | chown -R root:ftpshared /srv/ftp/shared
122 | chmod 755 /srv/ftp/shared
123 | chmod -R 775 /srv/ftp/shared/import
124 | chmod -R 775 /srv/ftp/shared/export
125 | chmod g+s /srv/ftp/shared/import
126 | chmod g+s /srv/ftp/shared/export
127 | log_only "The NOSH ChartingSystem SFTP directories have been created."
128 | /usr/bin/gpasswd -a www-data ftpshared
129 | cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
130 | log_only "Backup of SSH config file created."
131 | sed -i '/Subsystem/s/^/#/' /etc/ssh/sshd_config
132 | echo 'Subsystem sftp internal-sftp' >> /etc/ssh/sshd_config
133 | echo 'Match Group ftpshared' >> /etc/ssh/sshd_config
134 | echo 'ChrootDirectory /srv/ftp/shared' >> /etc/ssh/sshd_config
135 | echo 'X11Forwarding no' >> /etc/ssh/sshd_config
136 | echo 'AllowTCPForwarding no' >> /etc/ssh/sshd_config
137 | echo 'ForceCommand internal-sftp' >> /etc/ssh/sshd_config
138 | log_only "SSH config file updated."
139 | log_only "Restarting SSH server service"
140 | invoke-rc.d ssh restart >> $LOG 2>&1
141 | fi
142 |
143 | # Check if there was a previous installation of NOSH ChartingSystem
144 | if [ -d $NEWNOSH ]; then
145 | log_only "NOSH ChartingSystem already installed. If this is an error, make sure that the $NEWNOSH directory does not exist."
146 | else
147 | # New installation script
148 | if [ -d /etc/php5/mods-available ]; then
149 | if [ ! -f /etc/php5/mods-available/mcrypt.ini ]; then
150 | if ! [ -L /etc/php5/mods-available/mcrypt.ini ]; then
151 | ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
152 | log_only "Enabled mycrpt module for PHP."
153 | fi
154 | fi
155 | fi
156 | if [ -f /usr/sbin/php5enmod ]; then
157 | php5enmod mcrypt
158 | php5enmod imap
159 | log_only "Enabled mycrpt and imap module for PHP."
160 | fi
161 | if [ ! -f /usr/local/bin/composer ]; then
162 | curl -sS https://getcomposer.org/installer | php
163 | mv composer.phar /usr/local/bin/composer
164 | fi
165 | log_only "Installed composer.phar."
166 | if [ -d $NOSH_DIR ]; then
167 | log_only "The NOSH ChartingSystem documents directory already exists."
168 | else
169 | mkdir -p $NOSH_DIR
170 | log_only "The NOSH ChartingSystem documents directory has been created."
171 | fi
172 | chown -R $WEB_GROUP.$WEB_USER "$NOSH_DIR"
173 | chmod -R 755 $NOSH_DIR
174 | if ! [ -d "$NOSH_DIR"/scans ]; then
175 | mkdir "$NOSH_DIR"/scans
176 | chown -R $WEB_GROUP.$WEB_USER "$NOSH_DIR"/scans
177 | chmod -R 777 "$NOSH_DIR"/scans
178 | fi
179 | if ! [ -d "$NOSH_DIR"/received ]; then
180 | mkdir "$NOSH_DIR"/received
181 | chown -R $WEB_GROUP.$WEB_USER "$NOSH_DIR"/received
182 | fi
183 | if ! [ -d "$NOSH_DIR"/sentfax ]; then
184 | mkdir "$NOSH_DIR"/sentfax
185 | chown -R $WEB_GROUP.$WEB_USER "$NOSH_DIR"/sentfax
186 | fi
187 | log_only "The NOSH ChartingSystem scan and fax directories are secured."
188 | log_only "The NOSH ChartingSystem documents directory is secured."
189 | cd $NOSH_DIR
190 | composer create-project nosh-cs/nosh-cs --prefer-dist --stability dev
191 | #Create directory file
192 | touch $NOSHDIRFILE
193 | echo "$NOSH_DIR"/ >> $NOSHDIRFILE
194 | # Create .env file
195 | touch $NEWCONFIGDATABASE
196 | echo " '$MYSQL_DATABASE',
199 | 'mysql_username' => '$MYSQL_USERNAME',
200 | 'mysql_password' => '$MYSQL_PASSWORD'
201 | );" >> $NEWCONFIGDATABASE
202 | chown -R $WEB_GROUP.$WEB_USER $NEWNOSH
203 | chmod -R 755 $NEWNOSH
204 | chmod -R 777 $NEWNOSH/app/storage
205 | chmod -R 777 $NEWNOSH/public
206 | chmod 777 $NEWNOSH/noshfax
207 | chmod 777 $NEWNOSH/noshreminder
208 | chmod 777 $NEWNOSH/noshbackup
209 | log_only "Installed NOSH ChartingSystem core files."
210 | # If coming from old NOSH...
211 | if [ -d $OLDNOSH ]; then
212 | cp -nr /var/www/oldnosh/images/* $NEWNOSH/public/images/
213 | log_only "Copied previously created image files into new installation."
214 | cp -nr /var/www/oldnosh/received/* "$NOSH_DIR"/received/
215 | rm -rf "$NOSH_DIR"/received/thumbnails
216 | if [ "$(ls -A /var/www/oldnosh/sentfax)" ]; then
217 | cp -nr /var/www/oldnosh/sentfax/* "$NOSH_DIR"/sentfax/
218 | fi
219 | if [ "$(ls -A /var/www/oldnosh/scans)" ]; then
220 | cp -nr /var/www/oldnosh/scans/* "$NOSH_DIR"/scans/
221 | fi
222 | log_only "Copied previously created fax and scan files into new installation."
223 | log_only "The previous installation of NOSH is in the directory /var/www/oldnosh as a precaution. You can delete it manually at a later time."
224 | else
225 | echo "create database $MYSQL_DATABASE" | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD
226 | cd $NEWNOSH
227 | php artisan migrate:install
228 | php artisan migrate
229 | log_only "Installed NOSH ChartingSystem database schema."
230 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/templates.sql
231 | log_only "Installed NOSH ChartingSystem templates."
232 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/orderslist1.sql
233 | log_only "Installed NOSH ChartingSystem order templates."
234 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/meds_full.sql
235 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/meds_full_package.sql
236 | log_only "Installed NOSH ChartingSystem medication database."
237 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/supplements_list.sql
238 | log_only "Installed NOSH ChartingSystem supplements database."
239 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/icd9.sql
240 | log_only "Installed NOSH ChartingSystem ICD-9 database."
241 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/icd10.sql
242 | log_only "Installed NOSH ChartingSystem ICD-10 database."
243 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/cpt.sql
244 | log_only "Installed NOSH ChartingSystem CPT database."
245 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/cvx.sql
246 | log_only "Installed NOSH ChartingSystem immunization codes database."
247 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/gc.sql
248 | log_only "Installed NOSH ChartingSystem growth chart normalization values database."
249 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/lang.sql
250 | log_only "Installed NOSH ChartingSystem language database."
251 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/npi.sql
252 | log_only "Installed NOSH ChartingSystem NPI database."
253 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/pos.sql
254 | log_only "Installed NOSH ChartingSystem place of service database."
255 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/guardian_roles.sql
256 | log_only "Installed NOSH ChartingSystem guardian roles database."
257 | fi
258 | # Set up SSL and configuration file for Apache server
259 | if [ ! -f /etc/apache2/sites-available/default-ssl.conf ]; then
260 | if ! [ -L /etc/apache2/sites-enabled/default-ssl ]; then
261 | log_only "Setting up Apache to use SSL using the default-ssl virtual host for Ubuntu/Debian."
262 | ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/default-ssl
263 | fi
264 | else
265 | if ! [ -L /etc/apache2/sites-enabled/default-ssl.conf ]; then
266 | log_only "Setting up Apache to use SSL using the default-ssl virtual host for Ubuntu/Debian."
267 | ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf
268 | fi
269 | fi
270 | a2enmod ssl
271 | a2enmod rewrite
272 | if [ -e "$WEB_CONF"/nosh.conf ]; then
273 | rm "$WEB_CONF"/nosh.conf
274 | fi
275 | touch "$WEB_CONF"/nosh.conf
276 | echo "Alias /nosh $NEWNOSH/public
277 |
278 | Options Indexes FollowSymLinks MultiViews
279 | AllowOverride All" >> "$WEB_CONF"/nosh.conf
280 | if [ "$APACHE_VER" = "4" ]; then
281 | echo " Require all granted" >> "$WEB_CONF"/nosh.conf
282 | else
283 | echo " Order allow,deny
284 | allow from all" >> "$WEB_CONF"/nosh.conf
285 | fi
286 | echo " RewriteEngine On
287 | RewriteBase /nosh/
288 | # Redirect Trailing Slashes...
289 | RewriteRule ^(.*)/$ /$1 [L,R=301]
290 | RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
291 | # Handle Front Controller...
292 | RewriteCond %{REQUEST_FILENAME} !-d
293 | RewriteCond %{REQUEST_FILENAME} !-f
294 | RewriteRule ^ index.php [L]
295 |
296 | php_value upload_max_filesize 512M
297 | php_value post_max_size 512M
298 | php_flag magic_quotes_gpc off
299 | php_flag register_long_arrays off
300 |
301 | " >> "$WEB_CONF"/nosh.conf
302 | log_only "NOSH ChartingSystem Apache configuration file set."
303 | log_only "Restarting Apache service"
304 | invoke-rc.d apache2 restart >> $LOG 2>&1
305 | fi
306 | log_only "You can now complete your new installation of NOSH ChartingSystem by browsing to:"
307 | log_only "https://localhost/nosh"
308 | ;;
309 | esac
310 | db_stop
311 |
312 | # dh_installdeb will replace this with shell code automatically
313 | # generated by other debhelper scripts.
314 |
315 | #DEBHELPER#
316 |
317 | exit 0
318 |
--------------------------------------------------------------------------------
/debian/postrm:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # postrm script for nosh-cs
3 | #
4 | # see: dh_installdeb(1)
5 |
6 | set -e
7 |
8 | # summary of how this script can be called:
9 | # * `remove'
10 | # * `purge'
11 | # * `upgrade'
12 | # * `failed-upgrade'
13 | # * `abort-install'
14 | # * `abort-install'
15 | # * `abort-upgrade'
16 | # * `disappear'
17 | #
18 | # for details, see http://www.debian.org/doc/debian-policy/ or
19 | # the debian-policy package
20 |
21 | # Source debconf library
22 | . /usr/share/debconf/confmodule
23 | db_version 2.0
24 |
25 | #constants
26 | LOGDIR=/var/log/nosh
27 |
28 | case "$1" in
29 | remove)
30 | rm -rf $LOGDIR
31 | db_purge
32 | exit 0
33 | ;;
34 | esac
35 |
36 | # dh_installdeb will replace this with shell code automatically
37 | # generated by other debhelper scripts.
38 |
39 | #DEBHELPER#
40 |
41 | exit 0
42 |
--------------------------------------------------------------------------------
/debian/preinst:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # preinst script for nosh-cs
3 | #
4 | # see: dh_installdeb(1)
5 |
6 | set -e
7 |
8 | # summary of how this script can be called:
9 | # * `install'
10 | # * `install'
11 | # * `upgrade'
12 | # * `abort-upgrade'
13 | # for details, see http://www.debian.org/doc/debian-policy/ or
14 | # the debian-policy package
15 |
16 | # Source debconf library
17 | . /usr/share/debconf/confmodule
18 | db_version 2.0
19 |
20 | LOGDIR=/var/log/nosh
21 | LOG=$LOGDIR/installation_log
22 | WEB=/var/www
23 | NOSH=$WEB/nosh
24 | OLDNOSH=$WEB/oldnosh
25 | CONFIGDATABASEBACKUP=$OLDNOSH/system/application/config/database_backup.php
26 | CONFIGDATABASE=$OLDNOSH/system/application/config/database.php
27 | OLDNOSHREMINDER=/usr/bin/noshreminder.php
28 | OLDNOSHFAX=/usr/bin/fax.php
29 | NOSHBACKUP=/usr/bin/noshbackup
30 | NOSHREMINDER=/usr/bin/noshreminder
31 | NOSHFAX=/usr/bin/noshfax
32 | NOSHCRON=/etc/cron.d/nosh-cs
33 |
34 | LOGDIR=/var/log/nosh
35 | LOG=$LOGDIR/installation_log
36 | NOSH=/var/www/nosh
37 | CONFIGDATABASEBACKUP=$NOSH/system/application/config/database_backup.php
38 | CONFIGDATABASE=$NOSH/system/application/config/database.php
39 | NOSHREMINDER=/usr/bin/noshreminder.php
40 | NOSHFAX=/usr/bin/fax.php
41 |
42 | log_only () {
43 | echo "`date`: $1" >> $LOG
44 | }
45 |
46 | unable_exit () {
47 | echo "`date`: $1" >> $LOG
48 | echo "`date`: EXITING.........." >> $LOG
49 | exit 1
50 | }
51 |
52 | case "$1" in
53 | install)
54 | mkdir -p $LOGDIR
55 | log_only "New installation of NOSH ChartingSystem"
56 | exit 0
57 | ;;
58 |
59 | upgrade)
60 | log_only "Updating NOSH ChartingSystem"
61 | if [ -d $NOSH ]; then
62 | mv $NOSH $OLDNOSH
63 | log_only "Previous version of NOSH detected. Backup of previous NOSH files to /var/www/oldnosh."
64 | rm -rf $OLDNOSHFAX
65 | rm -rf $OLDNOSHREMINDER
66 | rm -rf $NOSHFAX
67 | rm -rf $NOSHREMINDER
68 | rm -rf $NOSHBACKUP
69 | log_only "Removed old scripts for NOSH."
70 | if [ -e "$CONFIGDATABASE" ]; then
71 | cp -fr $CONFIGDATABASE $CONFIGDATABASEBACKUP
72 | log_only "Backup of Codeigniter database configuration file created."
73 | fi
74 | fi
75 | exit 0
76 | ;;
77 |
78 | abort-upgrade)
79 | echo "preinst asked to do abort-upgrade - Nothing was installed."
80 | exit 0
81 | ;;
82 |
83 | *)
84 | echo "preinst called with unknown argument \`$1'" >&2
85 | exit 1
86 | ;;
87 | esac
88 |
89 | # dh_installdeb will replace this with shell code automatically
90 | # generated by other debhelper scripts.
91 |
92 | #DEBHELPER#
93 |
94 | exit 0
95 |
--------------------------------------------------------------------------------
/debian/prerm:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # prerm script for nosh-cs
3 | #
4 | # see: dh_installdeb(1)
5 |
6 | set -e
7 |
8 | # summary of how this script can be called:
9 | # * `remove'
10 | # * `upgrade'
11 | # * `failed-upgrade'
12 | # * `remove' `in-favour'
13 | # * `deconfigure' `in-favour'
14 | # `removing'
15 | #
16 | # for details, see http://www.debian.org/doc/debian-policy/ or
17 | # the debian-policy package
18 |
19 | # Source debconf library
20 | . /usr/share/debconf/confmodule
21 | db_version 2.0
22 |
23 | #constants and paths
24 | LOGDIR=/var/log/nosh
25 | LOG=$LOGDIR/installation_log
26 | WEB=/var/www
27 | NOSH=$WEB/nosh
28 | CONFIGDATABASE=/var/laravel/.env.php
29 | NOSHREMINDER=/usr/bin/noshreminder.php
30 | NOSHREMINDER1=/usr/bin/noshreminder
31 | NOSHFAX=/usr/bin/fax.php
32 | NOSHFAX1=/usr/bin/noshfax
33 | NOSHBACKUP=/usr/bin/noshbackup
34 | NOSHCRON=/etc/cron.d/nosh-cs
35 |
36 | log_only () {
37 | echo "$1"
38 | echo "`date`: $1" >> $LOG
39 | }
40 |
41 | unable_exit () {
42 | echo "$1"
43 | echo "`date`: $1" >> $LOG
44 | echo "EXITING.........."
45 | echo "`date`: EXITING.........." >> $LOG
46 | exit 1
47 | }
48 |
49 | get_settings () {
50 | echo `grep -i "^[[:space:]]*$1[[:space:]=>]" $2 | cut -d \> -f 2 | cut -d \, -f 1 | sed "s/[ '\"]//gi"`
51 | }
52 |
53 | case "$1" in
54 | remove)
55 | rm -rf $NOSHREMINDER
56 | rm -rf $NOSHREMINDER1
57 | rm -rf $NOSHCRON
58 | rm -rf $NOSHFAX
59 | rm -rf $NOSHFAX1
60 | rm -rf $NOSHBACKUP
61 | if [ -d /etc/apache2/conf-enabled ]; then
62 | WEB_CONF=/etc/apache2/conf-enabled
63 | else
64 | WEB_CONF=/etc/apache2/conf.d
65 | fi
66 | rm -rf "$WEB_CONF"/nosh.conf
67 | log_only "Removed NOSH ChartingSystem supplemental files."
68 | invoke-rc.d apache2 restart >> $LOG 2>&1
69 | log_only "Restarting Apache service"
70 | log_only "You will need to remove the directory $NOSH_DIR on your own based on your clinic patient confidentiality practices."
71 | log_only "You may want to save this directory since all database backups are also stored here for future re-installation."
72 | # Stop db
73 | db_stop
74 | exit 0
75 | ;;
76 | esac
77 |
78 | # dh_installdeb will replace this with shell code automatically
79 | # generated by other debhelper scripts.
80 |
81 | #DEBHELPER#
82 |
83 | exit 0
84 |
--------------------------------------------------------------------------------
/debian/rules:
--------------------------------------------------------------------------------
1 | #!/usr/bin/make -f
2 | # -*- makefile -*-
3 | # Sample debian/rules that uses debhelper.
4 | # This file was originally written by Joey Hess and Craig Small.
5 | # As a special exception, when this file is copied by dh-make into a
6 | # dh-make output file, you may use that output file without restriction.
7 | # This special exception was added by Craig Small in version 0.37 of dh-make.
8 |
9 | # Uncomment this to turn on verbose mode.
10 | #export DH_VERBOSE=1
11 |
12 | %:
13 | dh $@
14 |
--------------------------------------------------------------------------------
/debian/templates:
--------------------------------------------------------------------------------
1 | Template: noshemr/documents_directory
2 | Type: string
3 | Default: /noshdocuments
4 | Description: Enter a name for the NOSH ChartingSystem documents directory (/dir/dir1/dir3).
5 | Do not enter any spaces in the directory name.
6 |
7 | Template: noshemr/mysql_database
8 | Type: string
9 | Default: nosh
10 | Description: Enter the name of the MySQL database that NOSH ChartingSystem will use.
11 |
12 | Template: noshemr/mysql_username
13 | Type: string
14 | Default: root
15 | Description: Enter your MySQL username.
16 |
17 | Template: noshemr/mysql_password
18 | Type: password
19 | Description: Enter your MySQL password.
20 |
--------------------------------------------------------------------------------
/install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # install script for nosh-cs
3 |
4 | set -e
5 |
6 | # Constants and paths
7 | LOGDIR=/var/log/nosh
8 | LOG=$LOGDIR/installation_log
9 | WEB=/var/www
10 | NOSH=$WEB/nosh
11 | OLDNOSH=$WEB/oldnosh
12 | CONFIGDATABASEBACKUP=$OLDNOSH/system/application/config/database_backup.php
13 | CONFIGDATABASE=$OLDNOSH/system/application/config/database.php
14 | OLDNOSHREMINDER=/usr/bin/noshreminder.php
15 | OLDNOSHFAX=/usr/bin/fax.php
16 | NOSHBACKUP=/usr/bin/noshbackup
17 | NOSHREMINDER=/usr/bin/noshreminder
18 | NOSHFAX=/usr/bin/noshfax
19 | NOSHCRON=/etc/cron.d/nosh-cs
20 |
21 | log_only () {
22 | echo "$1"
23 | echo "`date`: $1" >> $LOG
24 | }
25 |
26 | unable_exit () {
27 | echo "$1"
28 | echo "`date`: $1" >> $LOG
29 | echo "EXITING.........."
30 | echo "`date`: EXITING.........." >> $LOG
31 | exit 1
32 | }
33 |
34 | get_settings () {
35 | echo `grep -i "^[[:space:]]*$1[[:space:]=]" $2 | cut -d \= -f 2 | cut -d \; -f 1 | sed "s/[ '\"]//gi"`
36 | }
37 |
38 | insert_settings () {
39 | sed -i 's%^[ ]*'"$1"'[ =].*$%'"$1"' = '"$2"'%' "$3"
40 | }
41 |
42 | # Check if running as root user
43 | if [[ $EUID -ne 0 ]]; then
44 | echo "This script must be run as root. Aborting." 1>&2
45 | exit 1
46 | fi
47 |
48 | # Create log file if it doesn't exist
49 | if [ ! -d $LOGDIR ]; then
50 | mkdir -p $LOGDIR
51 | fi
52 |
53 | # Check if previous NOSH installation. If so, get database parameters. If not, ask questions.
54 | if [ -d $NOSH ]; then
55 | mv $NOSH $OLDNOSH
56 | log_only "Previous version of NOSH detected. Backup of previous NOSH files to /var/www/oldnosh."
57 | rm -rf $OLDNOSHFAX
58 | rm -rf $OLDNOSHREMINDER
59 | rm -rf $NOSHFAX
60 | rm -rf $NOSHREMINDER
61 | rm -rf $NOSHBACKUP
62 | log_only "Removed old scripts for NOSH."
63 | if [ -e "$CONFIGDATABASE" ]; then
64 | cp -fr $CONFIGDATABASE $CONFIGDATABASEBACKUP
65 | log_only "Backup of Codeigniter database configuration file created."
66 | fi
67 | fi
68 | if [ -e $CONFIGDATABASE ]; then
69 | MYSQL_USERNAME=$(get_settings \$default_db_username $CONFIGDATABASE)
70 | MYSQL_PASSWORD=$(get_settings \$default_db_password $CONFIGDATABASE)
71 | MYSQL_DATABASE=nosh
72 | NOSH_DIR_PRE=$(mysql -u$MYSQL_USERNAME --password=$MYSQL_PASSWORD "nosh" -sN -e "select documents_dir from practiceinfo where practice_id = '1'")
73 | NOSH_DIR=${NOSH_DIR_PRE%?}
74 | else
75 | read -e -p "Enter the directory where NOSH ChartingSystem patient files will be stored: " -i "/noshdocuments" NOSH_DIR
76 | read -e -p "Enter the name of the MySQL database that NOSH ChartingSystem will use: " -i "nosh" MYSQL_DATABASE
77 | read -e -p "Enter your MySQL username: " -i "" MYSQL_USERNAME
78 | read -e -p "Enter your MySQL password: " -i "" MYSQL_PASSWORD
79 | fi
80 |
81 | if [ "$NOSH_DIR" = "" ]; then
82 | echo "The NOSH ChartingSystem documents directory cannot be blank. Aborting." 1>&2
83 | exit 1
84 | else
85 | NEWNOSH=$NOSH_DIR/nosh-cs
86 | NEWNOSHTEST=$NEWNOSH/artisan
87 | TEMPCONFIGDATABASE=$NOSH_DIR/nosh-cs/.codeigniter.php
88 | NEWCONFIGDATABASE=$NOSH_DIR/nosh-cs/.env.php
89 | NOSHDIRFILE=$NEWNOSH/.noshdir
90 | fi
91 |
92 | # Check os and distro
93 | if [[ "$OSTYPE" == "linux-gnu" ]]; then
94 | if [ -f /etc/debian_version ]; then
95 | # Ubuntu or Debian
96 | WEB_GROUP=www-data
97 | WEB_GROUP=www-data
98 | if [ -d /etc/apache2/conf-enabled ]; then
99 | WEB_CONF=/etc/apache2/conf-enabled
100 | else
101 | WEB_CONF=/etc/apache2/conf.d
102 | fi
103 | APACHE="/etc/init.d/apache2 restart"
104 | SSH="/etc/init.d/ssh stop"
105 | SSH1="/etc/init.d/ssh start"
106 | elif [ -f /etc/redhat-release ]; then
107 | # CentOS or RHEL
108 | WEB_GROUP=apache
109 | WEB_GROUP=apache
110 | WEB_CONF=/etc/httpd/conf.d
111 | APACHE="/etc/init.d/httpd restart"
112 | SSH="/etc/init.d/sshd stop"
113 | SSH1="/etc/init.d/sshd start"
114 | elif [ -f /etc/arch-release ]; then
115 | # ARCH
116 | WEB_GROUP=http
117 | WEB_GROUP=http
118 | WEB_CONF=/etc/httpd/conf/extra
119 | APACHE="systemctl restart httpd.service"
120 | SSH="systemctl stop sshd"
121 | SSH1="systemctl start sshd"
122 | elif [ -f /etc/gentoo-release ]; then
123 | # Gentoo
124 | WEB_GROUP=apache
125 | WEB_GROUP=apache
126 | WEB_CONF=/etc/apache2/modules.d
127 | APACHE=/etc/init.d/apache2
128 | SSH="/etc/init.d/sshd stop"
129 | SSH1="/etc/init.d/sshd start"
130 | elif [ -f /etc/fedora-release ]; then
131 | # Fedora
132 | WEB_GROUP=apache
133 | WEB_GROUP=apache
134 | WEB_CONF=/etc/httpd/conf.d
135 | APACHE="/etc/init.d/httpd restart"
136 | SSH="/etc/init.d/sshd stop"
137 | SSH1="/etc/init.d/sshd start"
138 | fi
139 | elif [[ "$OSTYPE" == "darwin"* ]]; then
140 | # Mac
141 | WEB_GROUP=_www
142 | WEB_GROUP=_www
143 | WEB_CONF=/etc/httpd/conf.d
144 | APACHE="/usr/sbin/apachectl restart"
145 | SSH="launchctl unload com.openssh.sshd"
146 | SSH1="launchctl load com.openssh.sshd"
147 | elif [[ "$OSTYPE" == "cygwin" ]]; then
148 | echo "This operating system is not supported by this install script at this time. Aborting." 1>&2
149 | exit 1
150 | elif [[ "$OSTYPE" == "win32" ]]; then
151 | echo "This operating system is not supported by this install script at this time. Aborting." 1>&2
152 | exit 1
153 | elif [[ "$OSTYPE" == "freebsd"* ]]; then
154 | WEB_GROUP=www
155 | WEB_GROUP=www
156 | WEB_CONF=/etc/httpd/conf.d
157 | if [ -e /usr/local/etc/rc.d/apache22.sh ]; then
158 | APACHE="/usr/local/etc/rc.d/apache22.sh restart"
159 | else
160 | APACHE="/usr/local/etc/rc.d/apache24.sh restart"
161 | fi
162 | SSH="/etc/rc.d/sshd stop"
163 | SSH1="/etc/rc.d/sshd start"
164 | else
165 | echo "This operating system is not supported by this install script at this time. Aborting." 1>&2
166 | exit 1
167 | fi
168 |
169 | # Check prerequisites
170 | type apache2 >/dev/null 2>&1 || { echo >&2 "Apache Web Server is required, but it's not installed. Aborting."; exit 1; }
171 | type mysql >/dev/null 2>&1 || { echo >&2 "MySQL is required, but it's not installed. Aborting."; exit 1; }
172 | type php >/dev/null 2>&1 || { echo >&2 "PHP is required, but it's not installed. Aborting."; exit 1; }
173 | type perl >/dev/null 2>&1 || { echo >&2 "Perl is required, but it's not installed. Aborting."; exit 1; }
174 | type pdftk >/dev/null 2>&1 || { echo >&2 "PDFTK is required, but it's not installed. Aborting."; exit 1; }
175 | type convert >/dev/null 2>&1 || { echo >&2 "ImageMagick is required, but it's not installed. Aborting."; exit 1; }
176 | type sshd >/dev/null 2>&1 || { echo >&2 "SSH Server is required, but it's not installed. Aborting."; exit 1; }
177 | type curl >/dev/null 2>&1 || { echo >&2 "cURL is required, but it's not installed. Aborting."; exit 1; }
178 | log_only "All prerequisites for installation are met."
179 |
180 | # Check apache version
181 | APACHE_VER=$(apache2 -v | awk -F"[..]" 'NR<2{print $2}')
182 |
183 | # Create cron scripts
184 | if [ -f $NOSHCRON ]; then
185 | rm -rf $NOSHCRON
186 | fi
187 | if [ ! -f $LOG ]; then
188 | mkdir -p $LOGDIR
189 | touch $LOG
190 | fi
191 | touch $NOSHCRON
192 | echo "*/10 * * * * root $NEWNOSH/noshfax" >> $NOSHCRON
193 | echo "*/1 * * * * root $NEWNOSH/noshreminder" >> $NOSHCRON
194 | echo "0 0 * * * root $NEWNOSH/noshbackup" >> $NOSHCRON
195 | chown root.root $NOSHCRON
196 | chmod 644 $NOSHCRON
197 | log_only "Created NOSH ChartingSystem cron scripts."
198 | # Set up SFTP
199 | /bin/egrep -i "^ftpshared" /etc/group
200 | if [ $? -eq 0 ]; then
201 | log_only "Group ftpshared already exists."
202 | else
203 | groupadd ftpshared
204 | log_only "Group ftpshared does not exist. Making group."
205 | fi
206 | if [ -d $FTPIMPORT ]; then
207 | log_only "The NOSH ChartingSystem SFTP directories already exist."
208 | else
209 | mkdir -p $FTPIMPORT
210 | mkdir -p $FTPEXPORT
211 | chown -R root:ftpshared /srv/ftp/shared
212 | chmod 755 /srv/ftp/shared
213 | chmod -R 775 /srv/ftp/shared/import
214 | chmod -R 775 /srv/ftp/shared/export
215 | chmod g+s /srv/ftp/shared/import
216 | chmod g+s /srv/ftp/shared/export
217 | log_only "The NOSH ChartingSystem SFTP directories have been created."
218 | /usr/bin/gpasswd -a www-data ftpshared
219 | cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
220 | log_only "Backup of SSH config file created."
221 | sed -i '/Subsystem/s/^/#/' /etc/ssh/sshd_config
222 | echo 'Subsystem sftp internal-sftp' >> /etc/ssh/sshd_config
223 | echo 'Match Group ftpshared' >> /etc/ssh/sshd_config
224 | echo 'ChrootDirectory /srv/ftp/shared' >> /etc/ssh/sshd_config
225 | echo 'X11Forwarding no' >> /etc/ssh/sshd_config
226 | echo 'AllowTCPForwarding no' >> /etc/ssh/sshd_config
227 | echo 'ForceCommand internal-sftp' >> /etc/ssh/sshd_config
228 | log_only "SSH config file updated."
229 | log_only "Restarting SSH server service"
230 | $SSH >> $LOG 2>&1
231 | $SSH1 >> $LOG 2>&1
232 | fi
233 |
234 | # Install
235 | if [ -d $NEWNOSH ]; then
236 | log_only "NOSH ChartingSystem already installed. If this is an error, make sure that the $NEWNOSH directory does not exist."
237 | exit 0
238 | else
239 | # New installation script
240 | if [ -f /etc/debian_version ]; then
241 | if [ -d /etc/php5/mods-available ]; then
242 | if [ ! -f /etc/php5/mods-available/mcrypt.ini ]; then
243 | if ! [ -L /etc/php5/mods-available/mcrypt.ini ]; then
244 | ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
245 | log_only "Enabled mycrpt module for PHP."
246 | fi
247 | fi
248 | fi
249 | if [ -f /usr/sbin/php5enmod ]; then
250 | php5enmod mcrypt
251 | php5enmod imap
252 | log_only "Enabled mycrpt module for PHP."
253 | fi
254 | else
255 | log_only "Ensure you have enabled the mcrypt module for PHP. Check you distribution help pages to do this."
256 | fi
257 | if [ ! -f /usr/local/bin/composer ]; then
258 | curl -sS https://getcomposer.org/installer | php
259 | mv composer.phar /usr/local/bin/composer
260 | fi
261 | log_only "Installed composer.phar."
262 | if [ -d $NOSH_DIR ]; then
263 | log_only "The NOSH ChartingSystem documents directory already exists."
264 | else
265 | mkdir -p $NOSH_DIR
266 | log_only "The NOSH ChartingSystem documents directory has been created."
267 | fi
268 | chown -R $WEB_GROUP.$WEB_USER "$NOSH_DIR"
269 | chmod -R 755 $NOSH_DIR
270 | if ! [ -d "$NOSH_DIR"/scans ]; then
271 | mkdir "$NOSH_DIR"/scans
272 | chown -R $WEB_GROUP.$WEB_USER "$NOSH_DIR"/scans
273 | chmod -R 777 "$NOSH_DIR"/scans
274 | fi
275 | if ! [ -d "$NOSH_DIR"/received ]; then
276 | mkdir "$NOSH_DIR"/received
277 | chown -R $WEB_GROUP.$WEB_USER "$NOSH_DIR"/received
278 | fi
279 | if ! [ -d "$NOSH_DIR"/sentfax ]; then
280 | mkdir "$NOSH_DIR"/sentfax
281 | chown -R $WEB_GROUP.$WEB_USER "$NOSH_DIR"/sentfax
282 | fi
283 | log_only "The NOSH ChartingSystem scan and fax directories are secured."
284 | log_only "The NOSH ChartingSystem documents directory is secured."
285 | cd $NOSH_DIR
286 | composer create-project nosh-cs/nosh-cs --prefer-dist --stability dev
287 | # Create directory file
288 | touch $NOSHDIRFILE
289 | echo "$NOSH_DIR"/ >> $NOSHDIRFILE
290 | # Create .env file
291 | touch $NEWCONFIGDATABASE
292 | echo " '$MYSQL_DATABASE',
295 | 'mysql_username' => '$MYSQL_USERNAME',
296 | 'mysql_password' => '$MYSQL_PASSWORD'
297 | );" >> $NEWCONFIGDATABASE
298 | chown -R $WEB_GROUP.$WEB_USER $NEWNOSH
299 | chmod -R 755 $NEWNOSH
300 | chmod -R 777 $NEWNOSH/app/storage
301 | chmod -R 777 $NEWNOSH/public
302 | chmod 777 $NEWNOSH/noshfax
303 | chmod 777 $NEWNOSH/noshreminder
304 | chmod 777 $NEWNOSH/noshbackup
305 | log_only "Installed NOSH ChartingSystem core files."
306 | # If coming from old NOSH...
307 | if [ -d $OLDNOSH ]; then
308 | cp -nr /var/www/oldnosh/images/* $NEWNOSH/public/images/
309 | log_only "Copied previously created image files into new installation."
310 | cp -nr /var/www/oldnosh/received/* "$NOSH_DIR"/received/
311 | rm -rf "$NOSH_DIR"/received/thumbnails
312 | if [ "$(ls -A /var/www/oldnosh/sentfax)" ]; then
313 | cp -nr /var/www/oldnosh/sentfax/* "$NOSH_DIR"/sentfax/
314 | fi
315 | if [ "$(ls -A /var/www/oldnosh/scans)" ]; then
316 | cp -nr /var/www/oldnosh/scans/* "$NOSH_DIR"/scans/
317 | fi
318 | log_only "Copied previously created fax and scan files into new installation."
319 | log_only "The previous installation of NOSH is in Sthe directory /var/www/oldnosh as a precaution. You can delete it manually at a later time."
320 | else
321 | echo "create database $MYSQL_DATABASE" | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD
322 | cd $NEWNOSH
323 | php artisan migrate:install
324 | php artisan migrate
325 | log_only "Installed NOSH ChartingSystem database schema."
326 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/templates.sql
327 | log_only "Installed NOSH ChartingSystem templates."
328 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/orderslist1.sql
329 | log_only "Installed NOSH ChartingSystem order templates."
330 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/meds_full.sql
331 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/meds_full_package.sql
332 | log_only "Installed NOSH ChartingSystem medication database."
333 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/supplements_list.sql
334 | log_only "Installed NOSH ChartingSystem supplements database."
335 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/icd9.sql
336 | log_only "Installed NOSH ChartingSystem ICD-9 database."
337 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/icd10.sql
338 | log_only "Installed NOSH ChartingSystem ICD-10 database."
339 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/cpt.sql
340 | log_only "Installed NOSH ChartingSystem CPT database."
341 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/cvx.sql
342 | log_only "Installed NOSH ChartingSystem immunization codes database."
343 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/gc.sql
344 | log_only "Installed NOSH ChartingSystem growth chart normalization values database."
345 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/lang.sql
346 | log_only "Installed NOSH ChartingSystem language database."
347 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/npi.sql
348 | log_only "Installed NOSH ChartingSystem NPI database."
349 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/pos.sql
350 | log_only "Installed NOSH ChartingSystem place of service database."
351 | mysql -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE < $NEWNOSH/import/guardian_roles.sql
352 | log_only "Installed NOSH ChartingSystem guardian roles database."
353 | fi
354 | # Set up SSL and configuration file for Apache server
355 | if [ -f /etc/debian_version ]; then
356 | if [ ! -f /etc/apache2/sites-available/default-ssl.conf ]; then
357 | if ! [ -L /etc/apache2/sites-enabled/default-ssl ]; then
358 | log_only "Setting up Apache to use SSL using the default-ssl virtual host for Ubuntu/Debian."
359 | ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/default-ssl
360 | fi
361 | else
362 | if ! [ -L /etc/apache2/sites-enabled/default-ssl.conf ]; then
363 | log_only "Setting up Apache to use SSL using the default-ssl virtual host for Ubuntu/Debian."
364 | ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf
365 | fi
366 | fi
367 | a2enmod ssl
368 | a2enmod rewrite
369 | else
370 | log_only "You will need to enable/create a virtual host and the SSL module for Apache before NOSH ChartingSystem will work securely."
371 | fi
372 | if [ -e "$WEB_CONF"/nosh.conf ]; then
373 | rm "$WEB_CONF"/nosh.conf
374 | fi
375 | touch "$WEB_CONF"/nosh.conf
376 | echo "Alias /nosh $NEWNOSH/public
377 |
378 | Options Indexes FollowSymLinks MultiViews
379 | AllowOverride All" >> "$WEB_CONF"/nosh.conf
380 | if [ "$APACHE_VER" = "4" ]; then
381 | echo " Require all granted" >> "$WEB_CONF"/nosh.conf
382 | else
383 | echo " Order allow,deny
384 | allow from all" >> "$WEB_CONF"/nosh.conf
385 | fi
386 | echo " RewriteEngine On
387 | RewriteBase /nosh/
388 | # Redirect Trailing Slashes...
389 | RewriteRule ^(.*)/$ /$1 [L,R=301]
390 | RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
391 | # Handle Front Controller...
392 | RewriteCond %{REQUEST_FILENAME} !-d
393 | RewriteCond %{REQUEST_FILENAME} !-f
394 | RewriteRule ^ index.php [L]
395 |
396 | php_value upload_max_filesize 512M
397 | php_value post_max_size 512M
398 | php_flag magic_quotes_gpc off
399 | php_flag register_long_arrays off
400 |
401 | " >> "$WEB_CONF"/nosh.conf
402 | log_only "NOSH ChartingSystem Apache configuration file set."
403 | log_only "Restarting Apache service."
404 | $APACHE >> $LOG 2>&1
405 | # Installation completed
406 | log_only "You can now complete your new installation of NOSH ChartingSystem by browsing to:"
407 | log_only "https://localhost/nosh"
408 | fi
409 | exit 0
410 |
--------------------------------------------------------------------------------
/uninstall.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # uninstall script for nosh-cs
3 |
4 | set -e
5 |
6 | #constants and paths
7 | LOGDIR=/var/log/nosh
8 | LOG=$LOGDIR/installation_log
9 | WEB=/var/www
10 | NOSH=$WEB/nosh
11 | LARAVEL=/var/laravel
12 | CONFIGDATABASE=/var/laravel/.env.php
13 | NOSHREMINDER=/usr/bin/noshreminder.php
14 | NOSHREMINDER1=/usr/bin/noshreminder
15 | NOSHFAX=/usr/bin/fax.php
16 | NOSHFAX1=/usr/bin/noshfax
17 | NOSHBACKUP=/usr/bin/noshbackup
18 | NOSHCRON=/etc/cron.d/nosh-cs
19 |
20 | log_only () {
21 | echo "$1"
22 | echo "`date`: $1" >> $LOG
23 | }
24 |
25 | unable_exit () {
26 | echo "$1"
27 | echo "`date`: $1" >> $LOG
28 | echo "EXITING.........."
29 | echo "`date`: EXITING.........." >> $LOG
30 | exit 1
31 | }
32 |
33 | get_settings () {
34 | echo `grep -i "^[[:space:]]*$1[[:space:]=>]" $2 | cut -d \> -f 2 | cut -d \, -f 1 | sed "s/[ '\"]//gi"`
35 | }
36 |
37 | if [ -d "/var/lib/mysql/nosh" ]; then
38 | # Collect database variables
39 | DEFAULTUSERNAME=$(get_settings \'mysql_username\' $CONFIGDATABASE)
40 | DEFAULTPASSWORD=$(get_settings \'mysql_password\' $CONFIGDATABASE)
41 | NOSH_DIR=$(mysql -u$DEFAULTUSERNAME -p$DEFAULTPASSWORD "nosh" -sN -e "select documents_dir from practiceinfo where practice_id = '1'")
42 | # Remove mysql database
43 | mysqladmin -f -u$DEFAULTUSERNAME -p$DEFAULTPASSWORD drop "nosh" >> $LOG 2>&1
44 | log_only "Removed NOSH ChartingSystem MySQL database"
45 | fi
46 | # Remove web directory
47 | rm -rf $NOSH
48 | rm -rf $LARAVEL
49 | log_only "Removed NOSH ChartingSystem web directory and Larvel framework files."
50 | # Remove rest of supporting files
51 | rm -rf $NOSHREMINDER
52 | rm -rf $NOSHREMINDER1
53 | rm -rf $NOSHCRON
54 | rm -rf $NOSHFAX
55 | rm -rf $NOSHFAX1
56 | rm -rf $NOSHBACKUP
57 | log_only "Removed NOSH ChartingSystem supplemental files."
58 | log_only "You will need to remove the directory $NOSH_DIR on your own based on your clinic patient confidentiality practices."
59 | log_only "You may want to save this directory since all database backups are also stored here for future re-installation."
60 |
61 | exit 0
62 |
--------------------------------------------------------------------------------
/updateapacheconf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # update apache conf for nosh-cs to allow authentication headers
3 |
4 | set -e
5 |
6 | LOGDIR=/var/log/nosh
7 | LOG=$LOGDIR/installation_log
8 | log_only () {
9 | echo "$1"
10 | echo "`date`: $1" >> $LOG
11 | }
12 |
13 | # Check if running as root user
14 | if [[ $EUID -ne 0 ]]; then
15 | echo "This script must be run as root. Aborting." 1>&2
16 | exit 1
17 | fi
18 |
19 | # Check os and distro
20 | if [[ "$OSTYPE" == "linux-gnu" ]]; then
21 | if [ -f /etc/debian_version ]; then
22 | # Ubuntu or Debian
23 | WEB_GROUP=www-data
24 | WEB_GROUP=www-data
25 | if [ -d /etc/apache2/conf-enabled ]; then
26 | WEB_CONF=/etc/apache2/conf-enabled
27 | else
28 | WEB_CONF=/etc/apache2/conf.d
29 | fi
30 | APACHE="/etc/init.d/apache2 restart"
31 | elif [ -f /etc/redhat-release ]; then
32 | # CentOS or RHEL
33 | WEB_GROUP=apache
34 | WEB_GROUP=apache
35 | WEB_CONF=/etc/httpd/conf.d
36 | APACHE="/etc/init.d/httpd restart"
37 | elif [ -f /etc/arch-release ]; then
38 | # ARCH
39 | WEB_GROUP=http
40 | WEB_GROUP=http
41 | WEB_CONF=/etc/httpd/conf/extra
42 | APACHE="systemctl restart httpd.service"
43 | elif [ -f /etc/gentoo-release ]; then
44 | # Gentoo
45 | WEB_GROUP=apache
46 | WEB_GROUP=apache
47 | WEB_CONF=/etc/apache2/modules.d
48 | APACHE=/etc/init.d/apache2
49 | elif [ -f /etc/fedora-release ]; then
50 | # Fedora
51 | WEB_GROUP=apache
52 | WEB_GROUP=apache
53 | WEB_CONF=/etc/httpd/conf.d
54 | APACHE="/etc/init.d/httpd restart"
55 | fi
56 | elif [[ "$OSTYPE" == "darwin"* ]]; then
57 | # Mac
58 | WEB_GROUP=_www
59 | WEB_GROUP=_www
60 | WEB_CONF=/etc/httpd/conf.d
61 | APACHE="/usr/sbin/apachectl restart"
62 | elif [[ "$OSTYPE" == "cygwin" ]]; then
63 | echo "This operating system is not supported by this install script at this time. Aborting." 1>&2
64 | exit 1
65 | elif [[ "$OSTYPE" == "win32" ]]; then
66 | echo "This operating system is not supported by this install script at this time. Aborting." 1>&2
67 | exit 1
68 | elif [[ "$OSTYPE" == "freebsd"* ]]; then
69 | WEB_GROUP=www
70 | WEB_GROUP=www
71 | WEB_CONF=/etc/httpd/conf.d
72 | if [ -e /usr/local/etc/rc.d/apache22.sh ]; then
73 | APACHE="/usr/local/etc/rc.d/apache22.sh restart"
74 | else
75 | APACHE="/usr/local/etc/rc.d/apache24.sh restart"
76 | fi
77 | else
78 | echo "This operating system is not supported by this install script at this time. Aborting." 1>&2
79 | exit 1
80 | fi
81 | # Check apache version
82 | APACHE_VER=$(apache2 -v | awk -F"[..]" 'NR<2{print $2}')
83 |
84 | read -e -p "Enter the directory where NOSH ChartingSystem patient files is stored: " -i "/noshdocuments" NOSH_DIR
85 | if [ "$NOSH_DIR" = "" ]; then
86 | echo "The NOSH ChartingSystem documents directory cannot be blank. Aborting." 1>&2
87 | exit 1
88 | elif [ ! -d $NOSH_DIR ]; then
89 | echo "The NOSH ChartingSystem documents directory does not exist. Check your entry. Aborting." 1>&2
90 | exit 1
91 | else
92 | NEWNOSH=$NOSH_DIR/nosh-cs
93 | if [ -e "$WEB_CONF"/nosh.conf ]; then
94 | rm "$WEB_CONF"/nosh.conf
95 | fi
96 | touch "$WEB_CONF"/nosh.conf
97 | echo "Alias /nosh $NEWNOSH/public
98 |
99 | Options Indexes FollowSymLinks MultiViews
100 | AllowOverride All" >> "$WEB_CONF"/nosh.conf
101 | if [ "$APACHE_VER" = "4" ]; then
102 | echo " Require all granted" >> "$WEB_CONF"/nosh.conf
103 | else
104 | echo " Order allow,deny
105 | allow from all" >> "$WEB_CONF"/nosh.conf
106 | fi
107 | echo " RewriteEngine On
108 | RewriteBase /nosh/
109 | # Redirect Trailing Slashes...
110 | RewriteRule ^(.*)/$ /$1 [L,R=301]
111 | RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
112 | # Handle Front Controller...
113 | RewriteCond %{REQUEST_FILENAME} !-d
114 | RewriteCond %{REQUEST_FILENAME} !-f
115 | RewriteRule ^ index.php [L]
116 |
117 | php_value upload_max_filesize 512M
118 | php_value post_max_size 512M
119 | php_flag magic_quotes_gpc off
120 | php_flag register_long_arrays off
121 |
122 | " >> "$WEB_CONF"/nosh.conf
123 | log_only "NOSH ChartingSystem Apache configuration file set."
124 | log_only "Restarting Apache service."
125 | $APACHE >> $LOG 2>&1
126 | fi
127 | exit 0
128 |
--------------------------------------------------------------------------------
/updaterepair.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # update-repair script for nosh-cs
3 |
4 | set -e
5 |
6 | # Check if running as root user
7 | if [[ $EUID -ne 0 ]]; then
8 | echo "This script must be run as root. Aborting." 1>&2
9 | exit 1
10 | fi
11 |
12 | # Check os and distro
13 | if [[ "$OSTYPE" == "linux-gnu" ]]; then
14 | if [ -f /etc/debian_version ]; then
15 | # Ubuntu or Debian
16 | WEB_GROUP=www-data
17 | WEB_GROUP=www-data
18 | elif [ -f /etc/redhat-release ]; then
19 | # CentOS or RHEL
20 | WEB_GROUP=apache
21 | WEB_GROUP=apache
22 | elif [ -f /etc/arch-release ]; then
23 | # ARCH
24 | WEB_GROUP=http
25 | WEB_GROUP=http
26 | elif [ -f /etc/gentoo-release ]; then
27 | # Gentoo
28 | WEB_GROUP=apache
29 | WEB_GROUP=apache
30 | elif [ -f /etc/fedora-release ]; then
31 | # Fedora
32 | WEB_GROUP=apache
33 | WEB_GROUP=apache
34 | fi
35 | elif [[ "$OSTYPE" == "darwin"* ]]; then
36 | # Mac
37 | WEB_GROUP=_www
38 | WEB_GROUP=_www
39 | elif [[ "$OSTYPE" == "cygwin" ]]; then
40 | echo "This operating system is not supported by this install script at this time. Aborting." 1>&2
41 | exit 1
42 | elif [[ "$OSTYPE" == "win32" ]]; then
43 | echo "This operating system is not supported by this install script at this time. Aborting." 1>&2
44 | exit 1
45 | elif [[ "$OSTYPE" == "freebsd"* ]]; then
46 | WEB_GROUP=www
47 | WEB_GROUP=www
48 | else
49 | echo "This operating system is not supported by this install script at this time. Aborting." 1>&2
50 | exit 1
51 | fi
52 | read -e -p "Enter the directory where NOSH ChartingSystem patient files is stored: " -i "/noshdocuments" NOSH_DIR
53 | if [ "$NOSH_DIR" = "" ]; then
54 | echo "The NOSH ChartingSystem documents directory cannot be blank. Aborting." 1>&2
55 | exit 1
56 | else
57 | NOSH=$NOSH_DIR/nosh-cs/app/controllers
58 | NOSHSCRIPT=$NOSH/BackupController.php
59 | fi
60 | # Make backup
61 | mv $NOSHSCRIPT $NOSHSCRIPT.bak
62 | # Obtain file from GitHub
63 | cd $NOSH
64 | wget https://raw.github.com/shihjay2/nosh-core/master/app/controllers/BackupController.php
65 | chown $WEB_GROUP.$WEB_USER $NOSHSCRIPT
66 | chmod 755 $NOSHSCRIPT
67 | echo "Your update script is repaired."
68 |
--------------------------------------------------------------------------------