emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Jean Louis <bugs@gnu.support>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: Renato Pontefice <renato.pontefice@gmail.com>, emacs-orgmode@gnu.org
Subject: Re: One thing each 3 days but maximum 10
Date: Mon, 31 Oct 2022 09:08:45 +0300	[thread overview]
Message-ID: <Y19mbeNMz1wXcQxK@protected.localdomain> (raw)
In-Reply-To: <878rkwlgj3.fsf@localhost>

* Ihor Radchenko <yantar92@posteo.net> [2022-10-31 08:15]:
> Jean Louis <bugs@gnu.support> writes:
> 
> > * Renato Pontefice <renato.pontefice@gmail.com> [2022-10-30 19:11]:
> >> I have to take a pill each 3 days, but for max 10 times.
> >> So I set a TODO pill >2022-10-28 +3d> and each 3 days my calendar tell me that I have to take the pill. But is possible to say 1/10; 2/10; 3/10 etc?
> >> I nean to show how many pill I have already take?
> >
> > Use PostgreSQL to give you schedule:
> >
> > #+BEGIN_SRC sql :engine postgresql :results value raw 
> > SELECT '** TODO Take pill again
> >   SCHEDULED: <' || generate_series('2022-10-28', '2022-11-26', '3 day'::interval)::date || E'>\n' 
> >   AS "* My treatement";
> > #+END_SRC
> >
> > #+RESULTS:
> > * My treatement
> > ** TODO Take pill again
> >   SCHEDULED: <2022-10-28>
> >
> > ** TODO Take pill again
> >   SCHEDULED: <2022-10-31>
> 
> This is not a good idea for pills.

I am afraid you forgot the fact that prescriptions have variable time
periods. It is rather unusual to take pills every 3 days, and rather
common for many diseases to take pills every 8 or 12 hours.

> Without SQL, one could also use org-clone-subtree-with-time-shift, but
> AFAIK, the whole idea behind schedule of taking pills is to retain
> certain concentration of medicine in the blood flow. Hence .+3d repeater
> (3d from the last time taking the pill) is more suitable.

If we ask Org documentation what is "repeater", then I get this
information:

Timestamp with repeater interval
     A timestamp may contain a _repeater interval_, indicating that it
     applies not only on the given date, but again and again after a
     certain interval of N days (d), weeks (w), months (m), or years
     (y).  The following shows up in the agenda every Wednesday:

          * Pick up Sam at school
            <2007-05-16 Wed 12:30 +1w>

And that excludes hours, unspoken of other intervals. 

That renders the function `org-clone-subtree-with-time-shift' not
suitable for prescription notification.

In fact it is great health risk to recommend to people to use Org to
track one's medical treatment due to too many "bugs" involved.

And here is hours "repeater" by using external tool PostgreSQL:

#+BEGIN_SRC sql :engine postgresql :results value raw 
SELECT '** TODO Take pill again
  SCHEDULED: <' || generate_series('2022-10-28', '2022-11-04', '8 hours'::interval)::timestamptz || E'>\n' 
  AS "* My treatement";
#+END_SRC

#+RESULTS:
* My treatement
** TODO Take pill again
  SCHEDULED: <2022-10-28 00:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-28 08:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-28 16:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-29 00:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-29 08:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-29 16:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-30 00:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-30 08:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-30 16:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-31 00:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-31 08:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-10-31 16:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-01 00:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-01 08:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-01 16:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-02 00:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-02 08:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-02 16:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-03 00:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-03 08:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-03 16:00:00+03>

** TODO Take pill again
  SCHEDULED: <2022-11-04 00:00:00+03>



-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/


  reply	other threads:[~2022-10-31  6:09 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-30 16:08 One thing each 3 days but maximum 10 Renato Pontefice
2022-10-31  4:26 ` Ihor Radchenko
2022-10-31  4:57 ` Jean Louis
2022-10-31  5:16   ` Ihor Radchenko
2022-10-31  6:08     ` Jean Louis [this message]
2022-10-31  6:27       ` Ihor Radchenko
2022-10-31 17:14         ` Jean Louis
2022-11-01  8:40           ` Ihor Radchenko
2022-10-31 10:01   ` Quiliro Ordóñez
2022-10-31 17:56     ` Jean Louis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y19mbeNMz1wXcQxK@protected.localdomain \
    --to=bugs@gnu.support \
    --cc=emacs-orgmode@gnu.org \
    --cc=renato.pontefice@gmail.com \
    --cc=yantar92@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).