Artificial intelligence · 9 min read · 2026-09-04
I asked ChatGPT to build my FMG schedule.
We gave it two full weeks: twelve physicians, four walk-in blocks a day, vacations, hospital days and everyone's half-days. It returned a schedule in under a minute, neatly formatted, every name somewhere. It was not publishable, and when we asked it to check, it answered that every constraint was met. The exact place where it broke says more about the manager's job than about the tool.
Co-founder · development
In short
- A language model writes the next cell from what precedes it. It never goes back over the finished grid to confront it with the rules it was given, so conflicts come out with the same confidence as everything else.
- Asked whether its own schedule is correct, it answers that everything is compliant and walks back through the rules one by one to prove it, while a physician on vacation is still sitting in a walk-in block. The false all-clear costs more than the error.
- Three objects specific to an FMG escape it entirely: the walk-in block, the weighted on-call shift and the shared office. It counts shifts, it does not weigh them.
- Reviewing twelve physicians over two weeks takes roughly as long as building the period would have, which cancels the gain.
- Pasting names, absences and withdrawal reasons into a consumer assistant is a Law 25 question before it is a technical one.
- AI is very strong at three points in the chain: turning a constraint written in plain language into a structured rule, pulling the errors out of an existing schedule when the question asked is a closed one, and writing the script nobody has time to write.
The test
We built two weeks that look like what a manager actually receives. Twelve physicians identified by initials, ten working days, two half-days each, four daily walk-in blocks, three offices for seven people present at the same time on Tuesday. On top of that, about fifteen constraints written as ordinary sentences: one week of vacation, two fixed hospital days, a physician who does not take walk-ins on Friday afternoons, a new recruit never placed on call alone. Two weeks rather than one, because a single week hides the problems that only show over time: a shift pushed back, a walk-in block made up later, fairness that cannot be measured across five days.
All of it was pasted as-is into a conversation, asking for both weeks as a table. No real names, no medical reasons, no patient data. We come back to that below, because the precaution was not decorative.
The answer arrived in about forty seconds. A clean table, one row per physician, one column per half-day, a paragraph of explanation underneath. In a screenshot sent to a colleague, it passes for an FMG schedule.
What it did well
It understood the request on the first try
No form, no imposed format, no columns to name. Constraints written in messy prose were read correctly, including the ones phrased in the negative and the one that depended on another. A manager who has spent fifteen years translating emails into spreadsheet cells recognizes the value of that immediately.
It asks the right questions when you ask it to
Asking it, before any schedule, what information it was missing produced a list many FMGs have never written down in full: the number of offices available per day, the rule that settles two physicians wanting the same block, what happens when a block stays uncovered, who has the final say. As an exercise in laying out the FMG's own rules, that is time well spent.
It writes the script nobody will write
Asking it not for the schedule but for the program that computes it produces code calling a real constraint solver. That version works, because the computation is handled by an engine that refuses an invalid solution instead of being written out word by word. It still requires someone in the FMG to run code, fix it when the rules change in November, and answer for what it produces.
Where the schedule broke
It does not reread what it just wrote
The physician on vacation for the second week appeared in the following Wednesday's walk-in block. Point it out and you get an apology and a corrected version, which fixes that case and creates another one three rows down, because the correction is not a recomputation of the whole grid. Two or three exchanges later, you no longer know which version is the right one.
That is the structural limit of the exercise. Text is produced left to right, one cell after another, with no step where the whole is confronted with the whole set of rules. An assignment engine does the opposite: it holds every constraint at once and refuses the impossible cell at the moment it is proposed.
A walk-in block is not a shift
It was treated as one cell to fill among others. Nothing in the answer says that an uncovered block is a different kind of problem from an empty office, that those hours count toward the FMG program's accessibility obligations, or that an approved withdrawal has to trigger the question of who takes the block back. Patients, meanwhile, show up at 1:00 p.m.
Walk-in distribution follows rules the model has no reason to know, since they were never written down anywhere in the public documents it learned from.
Five shifts each, and still no fairness
The proposed split was balanced in the most literal sense: the same number of shifts for everyone. A Friday evening and a Tuesday morning were worth the same there, as in nearly every generic tool. That is precisely the arithmetic that starts parking-lot conversations in an FMG, and getting out of it means giving shifts a value.
Offices do not exist in the answer
We had written three offices for seven people on Tuesday. The returned schedule placed all seven, without mentioning the constraint or flagging that it could not be met. An FMG almost always has more professionals than rooms, and placing offices at the same time as people is what prevents the hallway negotiation on Monday morning.
It states that everything is compliant
This is the part that costs the most. Ask it to reread its own schedule and confirm that it honours the constraints it was given, and it answers that everything is compliant, walking back through the rules one by one to prove it. Meanwhile the physician on vacation is still down for the Wednesday of the second week, in plain sight, in the table it has just validated.
A cautious silence would do less damage than that confirmation. A grid with three conflicts comes out with the same formatting and the same tone as a flawless one, no cell is marked doubtful, and a validation obtained on request is an invitation to skip the review. The only way to know what state the schedule is in is still to recheck all of it by hand.
For twelve physicians over two weeks, that review takes roughly as long as building the period directly would have. This is where the value of a tool is decided: in our pilot FMG in Saint-Hyacinthe, about thirty people managed in Excel took roughly 30 hours of management a month, post-publication fixes included, and around one hour with a dedicated tool. These are our own measurements rather than a network average, but they frame the order of magnitude that manual verification eats into.
The question that comes before the technical one
The test ran on initials because an FMG schedule is full of personal information. A physician's availability, absences, preferences and withdrawal reasons all qualify under Quebec's Law 25, whose main obligations have applied since 22 September 2023 and whose right to portability has applied since 22 September 2024. The absence of any patient record does not change that classification.
Before pasting the real list into a consumer assistant, three things deserve a written answer: where the conversation is retained and for how long, whether its content is used to train the model, and what contractual framework binds your FMG to the provider. A personal account opened in three clicks is nothing like a supplier the FMG has assessed and signed an agreement with.
What a chat thread cannot replace
Even assuming the schedule were perfect the moment it came out, it stays frozen in a conversation only the person who asked for it can read. An FMG schedule is built once a month and read every day by fifteen or so people who were not there when it was built. When a physician withdraws on a Friday afternoon, what matters is how fast the change reaches everyone.
Our eight moments that wreck an FMG schedule happen after publication in six cases out of eight. An assistant that produces a grid answers the part that already worked reasonably well in Excel, and leaves the painful part untouched.
What AI does well once it sits in the right place
The useful split runs between the interface and the engine. A language model is excellent at turning "I do not take walk-ins on Friday afternoons unless Marie is away" into a structured rule, with no form and no dropdown. It reviews well too, on one condition: the question has to be closed. "Give me every half-day where MD-04 appears" returns something usable, because finding a string in a table is a reading task. "Is this schedule correct?" returns the everything is compliant described above. Mechanical checking, one rule at a time, holds up; overall self-assessment does not.
The assignment itself needs something else. It needs an engine that holds every constraint at once and refuses, at the moment of the action, the double booking or the block left blank. Natural-language constraints in Synchro rest on exactly that division: each physician writes their constraint in plain language in thirty seconds, and the scheduling engine decides what can actually be placed.
Where to start if you want to test it anyway
- Anonymize before pasting. Initials, never full names, never the reason for an absence. A constraint tests just as well with MD-04 as with the real name.
- Ask for the list of rules, not the schedule. "What information would you be missing to build this schedule?" gives you a document your FMG can keep, which the table does not.
- Have it check one rule at a time. Paste the schedule you already built and ask a closed question per constraint, along the lines of "give me every half-day where MD-04 appears". That is the one variant of the test that saved time. The open question about overall validity returns a confirmation worth nothing.
- Time the review. If validating the output takes longer than building the period yourself, the answer has arrived and it is no.
Where Synchro fits
Synchro builds schedules for medical teams in Quebec using the objects of the job: walk-in blocks, weighted on-call shifts, shared offices, constraints written in plain language by each physician, transfers between colleagues with a record of who accepted and when. Natural language is the input, rules decide, and a change becomes visible to the whole team the moment it is made.
What Synchro does not do: no patient data flows through it and it does not replace your EMR, whether that is Ofys, Omnimed, Medesync or Kinlogix, all of which consume the schedule rather than produce it. No engine guesses a rule that was never written down either: what nobody has stated, neither ChatGPT nor Synchro will apply.
Further reading
Frequently asked questions
Can ChatGPT build an FMG schedule?
It can produce a schedule, not one you can publish. A language model writes the next cell based on what came before it; it does not go back over the finished grid to check it against the rules you gave. So you get two well-formatted weeks that still put a physician on vacation into a Wednesday walk-in block, and asking it to check its own work settles nothing: it will confirm that everything is compliant. Reading it line by line is the only way to find out.
Why does an AI-generated schedule contain errors you do not notice right away?
Because the presentation does not vary with the accuracy. A grid holding three conflicts comes out with the same confidence and the same formatting as a grid holding none. Worse, ask it to check its own schedule and it confirms that every constraint is met while an obvious error is still sitting in the table. The whole review therefore falls back on you, which is exactly the work you were trying to avoid.
Can I paste my physician list and their absences into a public assistant?
A physician's availability, absences, preferences and withdrawal reasons are personal information under Quebec's Law 25, whose main obligations have applied since 22 September 2023. Before pasting anything, your FMG needs to know where the conversation is retained, whether it is used to train the model, and what contractual framework exists. A consumer assistant is used without a service agreement, unlike a supplier your FMG has assessed.
What is AI actually good for in FMG scheduling?
Translating and checking, rather than deciding. It is very good at turning "I do not take walk-ins on Friday afternoons" into a structured constraint, at reading a schedule that already exists and pulling the errors out of it when you ask one closed question at a time, and at writing the script nobody in the FMG has time to write. Assigning people to blocks is what needs rules that refuse, not text that suggests.
What is the difference between ChatGPT and scheduling software that says it uses AI?
The question to ask a vendor is what decides at the end of the chain. If the language model is the interface and a rules engine assigns the blocks, the tool can refuse a double booking at the moment you make it. If the model produces the grid itself, you inherit the same review problem as with a consumer assistant, plus an invoice.
How long does it take to verify an AI-generated schedule?
Long enough to cancel the gain. Going back over twelve physicians for two weeks, block by block, cross-checking vacations, hospital days and available offices, takes roughly as long as building the period yourself. The test only pays off when verification is faster than construction, which is not the case when everything has to be rechecked.
Public sources cited: An Act to modernize legislative provisions as regards the protection of personal information (Law 25), for the 22 September 2023 entry into force and the 22 September 2024 right to portability; Programme de financement et de soutien professionnel pour les GMF, MSSS, version of 1 April 2026, for the accessibility obligations. The test described here was run by Synchro on an anonymized twelve-physician, two-week case and reproduces with any general-purpose assistant; the behaviours reported are observations, not a statistical measurement. The management hours cited come from our own measurements in a pilot FMG and are not a network average. Product names belong to their respective owners and this site is not affiliated with any of them.
About the author
Félix DeBlois-Beaucage
Co-founder · development
Co-founder of Synchro. He builds the product and is the person responsible for privacy.
See what it looks like on your real schedule.
A demo on your actual blocks and your actual call shifts, no commitment.
Book a demo