Hello

I'm a lawyer practising from a small firm in the UK. I am also a
Racket-hobbyist.

I'm writing to ask for comments, and perhaps even collaborators, regarding
a proposed project to build a case management system.

# Documents

I'm considering developing a series of DSLs using Racket for use in my firm
for writing types of standard document. For example:

- A DSL for writing notes of meetings or telephone calls
- A DSL for writing letters being sent out from the firm
- A DSL for writing financial documents such as invoices and receipts
- A DSL for writing other internal notes, such as when we review incoming
correspondence like letters or emails

These document DSLs would allow "rendering" to a print-friendly format like
PDF.

My staff could use DrRacket to edit these document files, receiving
feedback from the editor if they made errors with the syntax, and rendering
them to PDF to see what they looked like.

Perhaps there would be a general "Document" DSL which would be an
abstraction of all the above document DSLs defining what "fields" were
permissible, or necessary, in a document and how that document should be
rendered.

# Records

Embedded across those DSLs would be functions for recording information
like:

- Project management: What's the name and reference of this project? What
"type" of project is it? Who is responsible for it?
- Task management: What tasks need to be done? Who is assigned to do them?
How long do we estimate they will take to complete? When was a task
completed, cancelled or delegated?
- Contact information: What telephone numbers, email addresses etc do we
have for such-and-such a person? What is the role of each person or
organisation in this matter (client, lawyer, expert etc)?
- Calendar management: What appointments do we have? Who is expected to
attend?
- Document management: What correspondence documents have we received? Who
gave them to us and when? Who created them and what are their dates? What
information do they contain?
- Staff management: What are the names of the members of staff? What are
their job titles? What is the management structure?
- General metadata: What general key/value information does the user want
to store?

Perhaps these could be modelled as structs and then made available for
creation, mutation and deletion in documents using a UUID for
identification. It would be important to be able to see the history of this
information over time and to be able to identify the various documents that
created a record, changed it and then perhaps eventually deleted.

# Reports

A reporting DSL could then be used to extract the above information from
document files for querying purposes. The user could answer questions and
produce reports like:

- Do I have a telephone number for Alice, and if so which document defined
it?
- What documents has Bob been working on this week?
- What tasks are overdue?
- Since Charlie is on annual leave, what tasks were assigned to him?

Again, these "reports" would be capable of rendering so that they could be
read, printed or sent as PDFs.

# Conclusion

So does anyone have any comments on this proposed project? Pointing out
glaring mistakes or relevant technologies would be very welcome. I am just
a hobbyist and do not have any formal programming training.

Also, is there anyone out there interested in collaborating with me?
Perhaps a student who requires a university project or another
businessperson that could also use this type of case management system. I
would be absolutely delighted to have one or more buddies to work with on
this.

Many thanks for your attention.

Richard

-- 
Redwood Legal
r...@redwoodlegal.co.uk
Office: 01157 323277
15 Clarendon Street, Nottingham, NG1 5HR

This firm is authorised and regulated by the Solicitors Regulation
Authority (SRA ID 637939)

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to