Date: 201901
Local time of day: 1201-1800
Location: ZZZ.Airport, US
Flight conditions: Mixed
Weather elements / visibility: 10
Light: Daylight
Aircraft: B737-700
Operator: Air Carrier
Operating under: Part 121
Flight plan: IFR
Mission: Passenger
Flight phase: Descent; Initial Approach
Airspace: Class A ZZZ
ATC / advisory: TRACON ZZZ
Reporter organization: Air Carrier
Reporter function: Check Pilot; Pilot Not Flying
Reporter qualification: Flight Crew Air Transport Pilot (ATP); Flight Crew Multiengine; Flight Crew Instrument
Human factors: Training / Qualification; Situational Awareness; Human-Machine Interface
Second reporter function: First Officer; Pilot Not Flying
Anomaly: ATC Issue All Types; Deviation - Track / Heading All Types; Deviation / Discrepancy - Procedural Clearance; Deviation / Discrepancy - Procedural Published Material / Policy; Inflight Event / Encounter Weather / Turbulence
Detector: Person Air Traffic Control
When detected: In-flight
Result: Air Traffic Control Provided Assistance; Air Traffic Control Issued New Clearance; Flight Crew Requested ATC Assistance / Clarification; Flight Crew Became Reoriented
Contributing factors: Airspace Structure; Human Factors; Procedure; Chart Or Publication
Primary problem: Procedure

Narrative: I was observing a UOE (Upgrade Operating Experience) flight as a Check Airman in lieu off FAA in the jumpseat. Approaching ZZZZZ on the RNAV Arrival; the flight was switched to Approach. The crew was expecting ILS Runway XXR PRM and had previously briefed it. The crew was experiencing turbulence and was maintaining 280 knots at ATC's request for spacing. The next Controller told the crew to expect ILS Runway XYL. I can't remember if he said PRM; but the crew prepared for the PRM to XYL. When the crew received the new instructions; I would guess we were approximately 7 miles from ZZZZZ. Somewhere in there; the crew was told to slow to 210 knots. The upgrading Captain programmed the FMC while the Check Airman retrieved the [performance] numbers and requested the new ATIS. I was selecting the appropriate STAR page and the new Approach page on my EFB while the Captain was programming. The RNAV Arrival is contained on two separate STAR pages in the Jepp FD-Pro app depending on the runway for approach. I encourage whoever is reading this look at the ATL STAR menu and see what a challenge this can be when task loaded. The RNAV Arrival on page 10-2B2 is for Runways XZL/R; XAL/R/ XB; XXL; XYL. The RNAV Arrival on page 10-2B3 is for Runways XXR; XYR; XC. ZZZZZ is a branch point from which the transitions to the three different runways occur. When the Upgrading Captain selected the LEGS page for review; there were two discontinuities. He rectified one of them. There was also one between ZZZZZ1 and ZZZZZ2. The waypoint ZZZZZ3 was missing. While this was happening; the crew was cleared to descend via the RNAV and cleared for the ILS Runway XXL. The upgrading Captain elected to back out and start over and reprogrammed the arrival transition; and the approach; verified the route on the LEGS page with the Check Airman and executed. Immediately after that; the crew began dealing with an energy management problem as the MCP [Mode Control Panel] Altitude was set at 9;000 feet from the previous clearance. The upgrading Captain set 6;000 feet in the MCP; full speed brakes and flaps 1 and LVL CHNG to slow the aircraft. Then he accomplished a quick; but effective brief of the ILS PRM Runway XYL. As the crew discussed setting a new altitude in the MCP; Approach Control told them to fly heading 180 and that they were off course. The Approach Controller had to say it twice as the initial transmission was stepped on by another aircraft. The crew acknowledged and turned. The crew was subsequently cleared to intercept the localizer from a new heading. The remainder of the approach was uneventful. Upon landing the crew was told to call ATC for a possible violation. Somehow the point ZZZZZ4 had dropped out of the programming. At ZZZZZ; the aircraft started a turn direct to waypoint ZZZZ1. This was not noticed by either of the crew or me. I don't know how or why this happened. While he was programming the second time he; at one point; had the appropriate STAR transition programmed and executed. He had an accurate route from ZZZZZ to ZZZZZ4 to ZZZZ1 executed in FMC. As the aircraft approached ZZZZZ; the upgrading Captain had to close the discontinuity that existed between ZZZZ1 (last point on the Arrival) and ZZZZ1 on the approach. I think it is possible and likely that the LEGS sequenced as we overflew ZZZZZ while he was correcting the discontinuity causing the error. The aircraft turned to right at ZZZZZ giving the sense that it was going as planned; but going to ZZZZ1 instead of ZZZZZ4. The bottom line is the crew should have not accepted the approach and requested vectors. As the Observer; I could have suggested it. The new clearance was given fairly close to the branch point giving little time to program. The crew was doing their best to accommodate ATC and the fact that the Captain was on an upgrade probably influenced him to try and make it happen. The crew was task loaded with having to brief a new approach which included PRM. This added to the problem as both crew Members were doing separate tasks. A new ATIS and [performance data] added to the task loading. A confusing STAR with separate pages for different Runways added to the task loading. Turbulence and the status of the flight attendants was an additive condition. For my part; I assisted verbally while they were programming and clarified an ATC call while they were turning to localizer but never considered intervening as the crew was on top of things after the initial programming error.


Second narrative: [Report narrative contained no additional information.]


Synopsis: B737-700 flight crew reported deviating off course while trying to program a new arrival route due to a late runway change.