> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.carewithemma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# New Patient Intake: Register and Book via One Call

> Emma answers, registers the patient, captures coverage, and books the first visit in your EMR — all in a single call, with no front-desk involvement.

Emma's New Patient Intake workflow handles the full registration and booking process for new callers over the phone. When an unrecognized caller rings the practice, Emma registers them conversationally, captures insurance or self-pay details, and books their first appointment directly in the EMR — all before the call ends.

<Info>
  Integration method: REST / FHIR R4 against the EMR. Emma uses MCP tools during the call to perform scheduling and registration actions in real time.
</Info>

## Prerequisites

* An Emma account connected to a FHIR R4-compliant EMR
* The practice's phone number mapped to Emma (configured per engagement)
* FHIR R4 operations enabled: `Patient/$match`, `Patient` create, `Schedule`/`Slot`, `Appointment/$book`

## Flow

<Steps>
  <Step title="Connect the EMR" icon="plug">
    **Where:** Emma → Integrations → EMR / EHR

    Emma connects to the EMR through a FHIR R4 adapter. For this workflow, four operations must be enabled before the flow can run end-to-end:

    | Operation | FHIR R4 resource | Used for |
    | - | - | - |
    | Find patient | `Patient/$match` | Check whether the caller is an existing patient |
    | Create patient | `Patient` create | Open a new chart from the completed registration |
    | Retrieve availability | `Schedule` · `Slot` | Get real open slots to offer the patient |
    | Book appointment | `Appointment/$book` | Confirm the first visit before the call ends |

    <Tip>
      A reference EMR sandbox is available for testing the full flow before connecting to production. Contact your Emma implementation team to get access.
    </Tip>
  </Step>

  <Step title="A new patient calls" icon="phone">
    **Where:** the practice's mapped phone number

    When a call arrives, Emma immediately checks whether the caller's number matches an existing patient record. If no match is found, Emma starts the New Patient Intake flow and opens with an intake greeting before collecting consent.

    ```text theme={null}
    Ring → Emma lookup → No match found → Start intake greeting → Collect consent
    ```
  </Step>

  <Step title="Registration" icon="clipboard-list">
    Emma collects each required field conversationally, confirming details as it goes. If the call drops at any point, nothing already collected is lost — Emma resumes from where the conversation left off.

    Required fields collected during registration:

    * Full name
    * Phone number
    * Email address
    * Preferred location
    * Medicare status
    * Health plan
    * Referral source
    * Communication consent
  </Step>

  <Step title="Coverage" icon="shield-heart">
    Once registration is complete, Emma captures the patient's coverage. Billing questions that fall outside Emma's scope are escalated to a team member rather than left unanswered.

    | Path | What happens | Tool called |
    | - | - | - |
    | Insurance | Carrier and member ID captured | `submit_insurance_info` |
    | Self-pay | Patient chooses to pay directly | `record_self_pay_decision` |
    | Billing question | Handed off to the billing team | `escalate_billing` |

    > **Emma:** Do you have health insurance you'd like us to use for your visit?
    >
    > **Caller:** Yes, Blue Plan PPO. My member ID is on my card — want me to read it?
    >
    > *→ `submit_insurance_info` called — coverage saved*
    >
    > **Emma:** Got it, thank you. Now let's find a time for your first visit.
  </Step>

  <Step title="Booking the first visit" icon="calendar-check">
    **Where:** the EMR, as the system of record

    Emma checks real availability, offers specific slots to the patient, and books the one they pick — all before the call ends. If a slot is taken at the exact moment of booking, Emma automatically re-checks availability and offers the next open time without interrupting the conversation.

    <CodeGroup>
      ```json Book request theme={null}
      {
        "resourceType": "Parameters",
        "parameter": [{
          "name": "appointment",
          "resource": {
            "resourceType": "Appointment",
            "serviceType": [{ "text": "New patient visit" }],
            "start": "2026-10-06T15:00:00Z",
            "participant": [
              { "actor": { "reference": "Patient/jordan-lee" } },
              { "actor": { "reference": "Practitioner/dr-rivera" } }
            ]
          }
        }]
      }
      ```

      ```json 409 Conflict — slot taken theme={null}
      {
        "resourceType": "OperationOutcome",
        "issue": [{
          "severity": "error",
          "code": "conflict",
          "diagnostics": "slot_taken"
        }]
      }
      ```
    </CodeGroup>

    When a `409 Conflict` is returned, Emma automatically re-checks availability and offers the next open slot without interrupting the conversation.

    By the time the call ends, three records are created or updated in the EMR:

    <CardGroup cols={3}>
      <Card title="Patient Record" icon="id-card">
        Created in the EMR and marked active.
      </Card>

      <Card title="Appointment" icon="calendar">
        Booked with the chosen provider and time.
      </Card>

      <Card title="Call Record" icon="file-lines">
        Transcript, summary, and coverage status stored.
      </Card>
    </CardGroup>
  </Step>
</Steps>

<Note>
  All names, phone numbers, and IDs on this page are sample data.
</Note>
