{
  "openapi": "3.1.0",
  "info": {
    "title": "rpms-rpc client API",
    "version": "0.4.0",
    "description": "The rpms-rpc gem's public methods, each addressed as a resource: what a web client, or a host's HTTP facade over the gem, would call. The summary is the Ruby call; x-rpms.rpcs are the registered RPCs it sends over the broker, on build bcer-9.0-20261012-e7923a4-ydb; x-rpms.status says whether a live spec proves it. 199 operation(s), 58 proven. Generated by rpms-rpc `rake openapi:api` from `rake rpc:api_coverage`. The x-rpms fields are documented in rpms-rpc docs/openapi.md."
  },
  "servers": [
    {
      "url": "/",
      "description": "A host's HTTP facade over the rpms-rpc gem"
    }
  ],
  "tags": [
    {
      "name": "/admissions",
      "description": "/admissions, from RpmsRpc::Adt: 3 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/agg",
      "description": "/agg, from RpmsRpc::Agg: 4 operation(s), 1 proven by a live spec."
    },
    {
      "name": "/allergies",
      "description": "/allergies, from RpmsRpc::Allergy: 2 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/appointments",
      "description": "/appointments, from RpmsRpc::Scheduling: 9 operation(s), 1 proven by a live spec."
    },
    {
      "name": "/behavioral-health",
      "description": "/behavioral-health, from RpmsRpc::BehavioralHealth, RpmsRpc::BehavioralHealth::CaseManagement, RpmsRpc::BehavioralHealth::Groups, RpmsRpc::BehavioralHealth::Intake, RpmsRpc::BehavioralHealth::Reference: 40 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/eligibility",
      "description": "/eligibility, from RpmsRpc::Eligibility: 2 operation(s), 2 proven by a live spec."
    },
    {
      "name": "/encounters",
      "description": "/encounters, from RpmsRpc::Encounter: 3 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/exam-components",
      "description": "/exam-components, from RpmsRpc::ExamComponent: 1 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/files",
      "description": "/files, from RpmsRpc::DdrFileman: 7 operation(s), 3 proven by a live spec."
    },
    {
      "name": "/health-factors",
      "description": "/health-factors, from RpmsRpc::HealthFactor: 1 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/health-summaries",
      "description": "/health-summaries, from RpmsRpc::HealthSummary: 5 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/images",
      "description": "/images, from RpmsRpc::Image: 1 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/immunization-refusals",
      "description": "/immunization-refusals, from RpmsRpc::ImmunizationRefusal: 2 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/immunizations",
      "description": "/immunizations, from RpmsRpc::Immunization: 3 operation(s), 2 proven by a live spec."
    },
    {
      "name": "/locations",
      "description": "/locations, from RpmsRpc::Location: 1 operation(s), 1 proven by a live spec."
    },
    {
      "name": "/measurements",
      "description": "/measurements, from RpmsRpc::Measurement: 5 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/medications",
      "description": "/medications, from RpmsRpc::Medication: 2 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/note-templates",
      "description": "/note-templates, from RpmsRpc::NoteTemplate: 5 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/notifications",
      "description": "/notifications, from RpmsRpc::Notifications: 1 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/orders",
      "description": "/orders, from RpmsRpc::Order: 8 operation(s), 5 proven by a live spec."
    },
    {
      "name": "/organizations",
      "description": "/organizations, from RpmsRpc::Organization: 1 operation(s), 1 proven by a live spec."
    },
    {
      "name": "/patients",
      "description": "/patients, from RpmsRpc::Patient: 8 operation(s), 6 proven by a live spec."
    },
    {
      "name": "/phr",
      "description": "/phr, from RpmsRpc::Phr: 6 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/practitioners",
      "description": "/practitioners, from RpmsRpc::Practitioner: 2 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/problems",
      "description": "/problems, from RpmsRpc::Problem: 14 operation(s), 10 proven by a live spec."
    },
    {
      "name": "/procedures",
      "description": "/procedures, from RpmsRpc::Procedure: 2 operation(s), 1 proven by a live spec."
    },
    {
      "name": "/progress-notes",
      "description": "/progress-notes, from RpmsRpc::ProgressNote: 7 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/purposes-of-visit",
      "description": "/purposes-of-visit, from RpmsRpc::Pov: 1 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/referrals",
      "description": "/referrals, from RpmsRpc::Referral: 21 operation(s), 19 proven by a live spec."
    },
    {
      "name": "/registrations",
      "description": "/registrations, from RpmsRpc::Registration: 3 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/reminders",
      "description": "/reminders, from RpmsRpc::Reminders: 1 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/sessions",
      "description": "/sessions, from RpmsRpc::Session: 1 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/signatures",
      "description": "/signatures, from RpmsRpc::ESignature: 4 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/sites",
      "description": "/sites, from RpmsRpc::Site: 2 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/symptoms",
      "description": "/symptoms, from RpmsRpc::Symptom: 2 operation(s), 0 proven by a live spec."
    },
    {
      "name": "/tribes",
      "description": "/tribes, from RpmsRpc::Tribal: 6 operation(s), 1 proven by a live spec."
    },
    {
      "name": "/users",
      "description": "/users, from RpmsRpc::Authentication, RpmsRpc::UserManagement: 9 operation(s), 5 proven by a live spec."
    },
    {
      "name": "/vitals",
      "description": "/vitals, from RpmsRpc::Vital: 4 operation(s), 0 proven by a live spec."
    }
  ],
  "paths": {
    "/agg/available": {
      "get": {
        "operationId": "Agg.available?",
        "summary": "RpmsRpc::Agg.available?(client = ...)",
        "description": "Backed by `CIANBRPC CANRUN` (CANRUN^CIANBRPC).\n\nLive specs: `test/live/agg_available_live_test.rb:27`.\n\nProven by a live spec.",
        "tags": [
          "/agg"
        ],
        "parameters": [
          {
            "name": "client",
            "in": "query",
            "required": false,
            "description": "Ruby opt argument of available?",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Agg.available?(client = ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Agg.available?(client = ...)",
          "rpcs": [
            {
              "name": "CIANBRPC CANRUN",
              "registered": true,
              "entry_point": "CANRUN^CIANBRPC",
              "reach": "broker-exempt",
              "via": "literal"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/agg_available_live_test.rb:27"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "predicate"
        }
      }
    },
    "/agg/patient": {
      "post": {
        "operationId": "Agg.add_patient",
        "summary": "RpmsRpc::Agg.add_patient(params:, window: ..., dfn: ..., client: ...)",
        "description": "Backed by `AGG ADD NEW PATIENT` (ADD^AGGPTADD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/agg"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "params": {
                    "description": "Ruby keyreq argument of add_patient"
                  },
                  "window": {
                    "description": "Ruby key argument of add_patient"
                  },
                  "dfn": {
                    "description": "Ruby key argument of add_patient"
                  },
                  "client": {
                    "description": "Ruby key argument of add_patient"
                  }
                },
                "required": [
                  "params"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Agg.add_patient(params:, window: ..., dfn: ..., client: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Agg.add_patient(params:, window: ..., dfn: ..., client: ...)",
          "rpcs": [
            {
              "name": "AGG ADD NEW PATIENT",
              "registered": true,
              "entry_point": "ADD^AGGPTADD",
              "reach": "client-callable",
              "via": "literal"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/appointments/all": {
      "get": {
        "operationId": "Scheduling.all_appointments",
        "summary": "RpmsRpc::Scheduling.all_appointments(start_date:, end_date:)",
        "description": "Backed by `BSDX ALL APPOINTMENTS` (APBLKALL^BSDX05).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/appointments"
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of all_appointments",
            "schema": {}
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of all_appointments",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Scheduling.all_appointments(start_date:, end_date:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Scheduling.all_appointments(start_date:, end_date:)",
          "rpcs": [
            {
              "name": "BSDX ALL APPOINTMENTS",
              "registered": true,
              "entry_point": "APBLKALL^BSDX05",
              "reach": "client-callable",
              "via": "mapping :scheduling_all_appointments"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/appointments/availability": {
      "get": {
        "operationId": "Scheduling.availability",
        "summary": "RpmsRpc::Scheduling.availability(resources:, start_date:, end_date:, access_types: ..., ampm: ..., weekdays: ...)",
        "description": "Backed by `BSDX SEARCH AVAILABILITY` (SEARCH^BSDX24).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/appointments"
        ],
        "parameters": [
          {
            "name": "resources",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of availability",
            "schema": {}
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of availability",
            "schema": {}
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of availability",
            "schema": {}
          },
          {
            "name": "access_types",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of availability",
            "schema": {}
          },
          {
            "name": "ampm",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of availability",
            "schema": {}
          },
          {
            "name": "weekdays",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of availability",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Scheduling.availability(resources:, start_date:, end_date:, access_types: ..., ampm: ..., weekdays: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Scheduling.availability(resources:, start_date:, end_date:, access_types: ..., ampm: ..., weekdays: ...)",
          "rpcs": [
            {
              "name": "BSDX SEARCH AVAILABILITY",
              "registered": true,
              "entry_point": "SEARCH^BSDX24",
              "reach": "client-callable",
              "via": "mapping :scheduling_availability"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/appointments/clinic-setup": {
      "get": {
        "operationId": "Scheduling.clinic_setup",
        "summary": "RpmsRpc::Scheduling.clinic_setup()",
        "description": "Backed by `BSDX CLINIC SETUP` (CLNSET^BSDX32).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/appointments"
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Scheduling.clinic_setup() returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Scheduling.clinic_setup()",
          "rpcs": [
            {
              "name": "BSDX CLINIC SETUP",
              "registered": true,
              "entry_point": "CLNSET^BSDX32",
              "reach": "client-callable",
              "via": "mapping :scheduling_clinic_setup"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/appointments/hospital-locations": {
      "get": {
        "operationId": "Scheduling.hospital_locations",
        "summary": "RpmsRpc::Scheduling.hospital_locations()",
        "description": "Backed by `BSDX HOSPITAL LOCATION` (HOSPLOC^BSDX32).\n\nLive specs: `test/live/cia_sequence_echo_live_test.rb:50`, `test/live/missing_rpc_live_test.rb:132`, `test/live/missing_rpc_live_test.rb:134`, `test/live/scheduling_hospital_locations_live_test.rb:53`.\n\nProven by a live spec.",
        "tags": [
          "/appointments"
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Scheduling.hospital_locations() returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Scheduling.hospital_locations()",
          "rpcs": [
            {
              "name": "BSDX HOSPITAL LOCATION",
              "registered": true,
              "entry_point": "HOSPLOC^BSDX32",
              "reach": "client-callable",
              "via": "mapping :scheduling_hospital_location"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/cia_sequence_echo_live_test.rb:50",
            "test/live/missing_rpc_live_test.rb:132",
            "test/live/missing_rpc_live_test.rb:134",
            "test/live/scheduling_hospital_locations_live_test.rb:53"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/appointments/{appointment_ien}/cancel": {
      "post": {
        "operationId": "Scheduling.cancel_appointment",
        "summary": "RpmsRpc::Scheduling.cancel_appointment(appointment_ien, reason:, type: ..., note: ...)",
        "description": "Backed by `BSDX CANCEL APPOINTMENT` (APPDEL^BSDX08).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/appointments"
        ],
        "parameters": [
          {
            "name": "appointment_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "description": "Ruby keyreq argument of cancel_appointment"
                  },
                  "type": {
                    "description": "Ruby key argument of cancel_appointment"
                  },
                  "note": {
                    "description": "Ruby key argument of cancel_appointment"
                  }
                },
                "required": [
                  "reason"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Scheduling.cancel_appointment(appointment_ien, reason:, type: ..., note: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Scheduling.cancel_appointment(appointment_ien, reason:, type: ..., note: ...)",
          "rpcs": [
            {
              "name": "BSDX CANCEL APPOINTMENT",
              "registered": true,
              "entry_point": "APPDEL^BSDX08",
              "reach": "client-callable",
              "via": "mapping :scheduling_cancel_appointment"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/appointments/{appointment_ien}/checkin": {
      "post": {
        "operationId": "Scheduling.checkin_appointment",
        "summary": "RpmsRpc::Scheduling.checkin_appointment(appointment_ien, checkin_time:, clinic_code: ..., provider: ...)",
        "description": "Backed by `BSDX CHECKIN APPOINTMENT` (CHECKIN^BSDX25).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/appointments"
        ],
        "parameters": [
          {
            "name": "appointment_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "checkin_time": {
                    "description": "Ruby keyreq argument of checkin_appointment"
                  },
                  "clinic_code": {
                    "description": "Ruby key argument of checkin_appointment"
                  },
                  "provider": {
                    "description": "Ruby key argument of checkin_appointment"
                  }
                },
                "required": [
                  "checkin_time"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Scheduling.checkin_appointment(appointment_ien, checkin_time:, clinic_code: ..., provider: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Scheduling.checkin_appointment(appointment_ien, checkin_time:, clinic_code: ..., provider: ...)",
          "rpcs": [
            {
              "name": "BSDX CHECKIN APPOINTMENT",
              "registered": true,
              "entry_point": "CHECKIN^BSDX25",
              "reach": "client-callable",
              "via": "mapping :scheduling_checkin_appointment"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/appointments/{appointment_ien}/mark-no-show": {
      "post": {
        "operationId": "Scheduling.mark_no_show",
        "summary": "RpmsRpc::Scheduling.mark_no_show(appointment_ien, no_show: ...)",
        "description": "Backed by `BSDX NOSHOW` (NOSHOW^BSDX31).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/appointments"
        ],
        "parameters": [
          {
            "name": "appointment_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "no_show": {
                    "description": "Ruby key argument of mark_no_show"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Scheduling.mark_no_show(appointment_ien, no_show: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Scheduling.mark_no_show(appointment_ien, no_show: ...)",
          "rpcs": [
            {
              "name": "BSDX NOSHOW",
              "registered": true,
              "entry_point": "NOSHOW^BSDX31",
              "reach": "client-callable",
              "via": "mapping :scheduling_noshow_appointment"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/appointments/{appointment_ien}/uncancel": {
      "post": {
        "operationId": "Scheduling.uncancel_appointment",
        "summary": "RpmsRpc::Scheduling.uncancel_appointment(appointment_ien)",
        "description": "Backed by `BSDX UNCANCEL APPT` (APPUDEL^BSDX08).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/appointments"
        ],
        "parameters": [
          {
            "name": "appointment_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Scheduling.uncancel_appointment(appointment_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Scheduling.uncancel_appointment(appointment_ien)",
          "rpcs": [
            {
              "name": "BSDX UNCANCEL APPT",
              "registered": true,
              "entry_point": "APPUDEL^BSDX08",
              "reach": "client-callable",
              "via": "mapping :scheduling_uncancel_appointment"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/behavioral-health/admin-records": {
      "get": {
        "operationId": "BehavioralHealth::Reference.admin_records",
        "summary": "RpmsRpc::BehavioralHealth::Reference.admin_records(provider, from:, to:)",
        "description": "Backed by `AMHG GET ADMIN RECORDS` (ADML^AMHGDA).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of admin_records",
            "schema": {}
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of admin_records",
            "schema": {}
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of admin_records",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Reference.admin_records(provider, from:, to:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Reference.admin_records(provider, from:, to:)",
          "rpcs": [
            {
              "name": "AMHG GET ADMIN RECORDS",
              "registered": true,
              "entry_point": "ADML^AMHGDA",
              "reach": "client-callable",
              "via": "mapping :amhg_admin_records"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/cases/community-activities": {
      "get": {
        "operationId": "BehavioralHealth::CaseManagement.community_activities",
        "summary": "RpmsRpc::BehavioralHealth::CaseManagement.community_activities(provider, from:, to:)",
        "description": "Backed by `AMHG GET COMMUNITY ACTIVITIES` (COML^AMHGDA).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of community_activities",
            "schema": {}
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of community_activities",
            "schema": {}
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of community_activities",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::CaseManagement.community_activities(provider, from:, to:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::CaseManagement.community_activities(provider, from:, to:)",
          "rpcs": [
            {
              "name": "AMHG GET COMMUNITY ACTIVITIES",
              "registered": true,
              "entry_point": "COML^AMHGDA",
              "reach": "client-callable",
              "via": "mapping :amhg_community_activities"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/cases/community-activities/{activity_ien}": {
      "get": {
        "operationId": "BehavioralHealth::CaseManagement.community_activity",
        "summary": "RpmsRpc::BehavioralHealth::CaseManagement.community_activity(activity_ien)",
        "description": "Backed by `AMHG GET COMMUNITY ACTIVITY` (COM^AMHGDCOM).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "activity_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::CaseManagement.community_activity(activity_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::CaseManagement.community_activity(activity_ien)",
          "rpcs": [
            {
              "name": "AMHG GET COMMUNITY ACTIVITY",
              "registered": true,
              "entry_point": "COM^AMHGDCOM",
              "reach": "client-callable",
              "via": "mapping :amhg_community_activity"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/cases/{case_ien}/management": {
      "get": {
        "operationId": "BehavioralHealth::CaseManagement.case_management",
        "summary": "RpmsRpc::BehavioralHealth::CaseManagement.case_management(case_ien)",
        "description": "Backed by `AMHG GET CASE MANAGEMENT` (CM^AMHGDCM).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "case_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::CaseManagement.case_management(case_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::CaseManagement.case_management(case_ien)",
          "rpcs": [
            {
              "name": "AMHG GET CASE MANAGEMENT",
              "registered": true,
              "entry_point": "CM^AMHGDCM",
              "reach": "client-callable",
              "via": "mapping :amhg_case_management"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/clinics": {
      "get": {
        "operationId": "BehavioralHealth::Reference.clinics",
        "summary": "RpmsRpc::BehavioralHealth::Reference.clinics()",
        "description": "Backed by `AMHG GET CLINICS` (CLN^AMHGTVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Reference.clinics() returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Reference.clinics()",
          "rpcs": [
            {
              "name": "AMHG GET CLINICS",
              "registered": true,
              "entry_point": "CLN^AMHGTVF",
              "reach": "client-callable",
              "via": "mapping :amhg_clinics"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/groups": {
      "get": {
        "operationId": "BehavioralHealth::Groups.groups",
        "summary": "RpmsRpc::BehavioralHealth::Groups.groups(provider, from:, to:)",
        "description": "Backed by `AMHG GET GROUPS` (GROUPL^AMHGDA).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of groups",
            "schema": {}
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of groups",
            "schema": {}
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of groups",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Groups.groups(provider, from:, to:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Groups.groups(provider, from:, to:)",
          "rpcs": [
            {
              "name": "AMHG GET GROUPS",
              "registered": true,
              "entry_point": "GROUPL^AMHGDA",
              "reach": "client-callable",
              "via": "mapping :amhg_group_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/groups/{group_ien}/cpt": {
      "get": {
        "operationId": "BehavioralHealth::Groups.group_cpt",
        "summary": "RpmsRpc::BehavioralHealth::Groups.group_cpt(group_ien, dupe: ..., date: ...)",
        "description": "Backed by `AMHG GET GROUP CPT` (CPT^AMHGDGP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "group_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dupe",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of group_cpt",
            "schema": {}
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of group_cpt",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Groups.group_cpt(group_ien, dupe: ..., date: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Groups.group_cpt(group_ien, dupe: ..., date: ...)",
          "rpcs": [
            {
              "name": "AMHG GET GROUP CPT",
              "registered": true,
              "entry_point": "CPT^AMHGDGP",
              "reach": "client-callable",
              "via": "mapping :amhg_group_cpt"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/groups/{group_ien}/edu": {
      "get": {
        "operationId": "BehavioralHealth::Groups.group_edu",
        "summary": "RpmsRpc::BehavioralHealth::Groups.group_edu(group_ien)",
        "description": "Backed by `AMHG GET GROUP EDU` (EDU^AMHGDGP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "group_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Groups.group_edu(group_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Groups.group_edu(group_ien)",
          "rpcs": [
            {
              "name": "AMHG GET GROUP EDU",
              "registered": true,
              "entry_point": "EDU^AMHGDGP",
              "reach": "client-callable",
              "via": "mapping :amhg_group_edu"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/groups/{group_ien}/information": {
      "get": {
        "operationId": "BehavioralHealth::Groups.group_information",
        "summary": "RpmsRpc::BehavioralHealth::Groups.group_information(group_ien)",
        "description": "Backed by `AMHG GET GROUP INFORMATION` (ENC^AMHGDGP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "group_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Groups.group_information(group_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Groups.group_information(group_ien)",
          "rpcs": [
            {
              "name": "AMHG GET GROUP INFORMATION",
              "registered": true,
              "entry_point": "ENC^AMHGDGP",
              "reach": "client-callable",
              "via": "mapping :amhg_group_information"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/groups/{group_ien}/patients": {
      "get": {
        "operationId": "BehavioralHealth::Groups.group_patients",
        "summary": "RpmsRpc::BehavioralHealth::Groups.group_patients(group_ien)",
        "description": "Backed by `AMHG GET GROUP PATIENTS` (PAT^AMHGDGP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "group_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Groups.group_patients(group_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Groups.group_patients(group_ien)",
          "rpcs": [
            {
              "name": "AMHG GET GROUP PATIENTS",
              "registered": true,
              "entry_point": "PAT^AMHGDGP",
              "reach": "client-callable",
              "via": "mapping :amhg_group_patients"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/groups/{group_ien}/pov": {
      "get": {
        "operationId": "BehavioralHealth::Groups.group_pov",
        "summary": "RpmsRpc::BehavioralHealth::Groups.group_pov(group_ien, dupe: ..., date: ...)",
        "description": "Backed by `AMHG GET GROUP POV` (POV^AMHGDGP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "group_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dupe",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of group_pov",
            "schema": {}
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of group_pov",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Groups.group_pov(group_ien, dupe: ..., date: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Groups.group_pov(group_ien, dupe: ..., date: ...)",
          "rpcs": [
            {
              "name": "AMHG GET GROUP POV",
              "registered": true,
              "entry_point": "POV^AMHGDGP",
              "reach": "client-callable",
              "via": "mapping :amhg_group_pov"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/groups/{group_ien}/secondary-providers": {
      "get": {
        "operationId": "BehavioralHealth::Groups.group_secondary_providers",
        "summary": "RpmsRpc::BehavioralHealth::Groups.group_secondary_providers(group_ien)",
        "description": "Backed by `AMHG GET GROUP SEC PROVIDERS` (SP^AMHGDGP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "group_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Groups.group_secondary_providers(group_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Groups.group_secondary_providers(group_ien)",
          "rpcs": [
            {
              "name": "AMHG GET GROUP SEC PROVIDERS",
              "registered": true,
              "entry_point": "SP^AMHGDGP",
              "reach": "client-callable",
              "via": "mapping :amhg_group_secondary_providers"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/groups/{group_ien}/soap": {
      "get": {
        "operationId": "BehavioralHealth::Groups.group_soap",
        "summary": "RpmsRpc::BehavioralHealth::Groups.group_soap(group_ien)",
        "description": "Backed by `AMHG GET GROUP SOAP` (SOAP^AMHGDGP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "group_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Groups.group_soap(group_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Groups.group_soap(group_ien)",
          "rpcs": [
            {
              "name": "AMHG GET GROUP SOAP",
              "registered": true,
              "entry_point": "SOAP^AMHGDGP",
              "reach": "client-callable",
              "via": "mapping :amhg_group_soap"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/intakes/{intake_ien}/visit-assessment": {
      "get": {
        "operationId": "BehavioralHealth.visit_assessment",
        "summary": "RpmsRpc::BehavioralHealth.visit_assessment(intake_ien:)",
        "description": "Backed by `AMHG GET VISIT ASSESSMENT` (ASSESS^AMHGDINT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "intake_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_assessment(intake_ien:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_assessment(intake_ien:)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT ASSESSMENT",
              "registered": true,
              "entry_point": "ASSESS^AMHGDINT",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_assessment"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/patients": {
      "get": {
        "operationId": "BehavioralHealth::Reference.patients",
        "summary": "RpmsRpc::BehavioralHealth::Reference.patients(query, facility: ..., max: ..., after_name: ...)",
        "description": "Backed by `AMHG GET PATIENT` (GETPAT^AMHGP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of patients",
            "schema": {}
          },
          {
            "name": "facility",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of patients",
            "schema": {}
          },
          {
            "name": "max",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of patients",
            "schema": {}
          },
          {
            "name": "after_name",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of patients",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Reference.patients(query, facility: ..., max: ..., after_name: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Reference.patients(query, facility: ..., max: ..., after_name: ...)",
          "rpcs": [
            {
              "name": "AMHG GET PATIENT",
              "registered": true,
              "entry_point": "GETPAT^AMHGP",
              "reach": "client-callable",
              "via": "mapping :amhg_patient"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/sites/{site_ien}/parameters": {
      "get": {
        "operationId": "BehavioralHealth::Reference.site_parameters",
        "summary": "RpmsRpc::BehavioralHealth::Reference.site_parameters(site_ien)",
        "description": "Backed by `AMHG GET SITE PARAMETERS` (SITE^AMHGU).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "site_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Reference.site_parameters(site_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Reference.site_parameters(site_ien)",
          "rpcs": [
            {
              "name": "AMHG GET SITE PARAMETERS",
              "registered": true,
              "entry_point": "SITE^AMHGU",
              "reach": "client-callable",
              "via": "mapping :amhg_site_parameters"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/suicide-forms/{form_ien}": {
      "get": {
        "operationId": "BehavioralHealth.suicide_form",
        "summary": "RpmsRpc::BehavioralHealth.suicide_form(form_ien)",
        "description": "Backed by `AMHG GET SUICIDE FORM` (SF^AMHGDSF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "form_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.suicide_form(form_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.suicide_form(form_ien)",
          "rpcs": [
            {
              "name": "AMHG GET SUICIDE FORM",
              "registered": true,
              "entry_point": "SF^AMHGDSF",
              "reach": "client-callable",
              "via": "mapping :amhg_suicide_form"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/suicide-forms/{form_ien}/contributing-factors": {
      "get": {
        "operationId": "BehavioralHealth.suicide_form_contributing_factors",
        "summary": "RpmsRpc::BehavioralHealth.suicide_form_contributing_factors(form_ien)",
        "description": "Backed by `AMHG GET SUICIDE FORM CF` (CF^AMHGDSF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "form_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.suicide_form_contributing_factors(form_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.suicide_form_contributing_factors(form_ien)",
          "rpcs": [
            {
              "name": "AMHG GET SUICIDE FORM CF",
              "registered": true,
              "entry_point": "CF^AMHGDSF",
              "reach": "client-callable",
              "via": "mapping :amhg_suicide_form_contributing_factors"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/suicide-forms/{form_ien}/methods": {
      "get": {
        "operationId": "BehavioralHealth.suicide_form_methods",
        "summary": "RpmsRpc::BehavioralHealth.suicide_form_methods(form_ien)",
        "description": "Backed by `AMHG GET SUICIDE FORM METHOD` (METH^AMHGDSF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "form_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.suicide_form_methods(form_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.suicide_form_methods(form_ien)",
          "rpcs": [
            {
              "name": "AMHG GET SUICIDE FORM METHOD",
              "registered": true,
              "entry_point": "METH^AMHGDSF",
              "reach": "client-callable",
              "via": "mapping :amhg_suicide_form_methods"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/suicide-forms/{form_ien}/substances": {
      "get": {
        "operationId": "BehavioralHealth.suicide_form_substances",
        "summary": "RpmsRpc::BehavioralHealth.suicide_form_substances(form_ien)",
        "description": "Backed by `AMHG GET SUICIDE FORM SUB` (SUB^AMHGDSF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "form_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.suicide_form_substances(form_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.suicide_form_substances(form_ien)",
          "rpcs": [
            {
              "name": "AMHG GET SUICIDE FORM SUB",
              "registered": true,
              "entry_point": "SUB^AMHGDSF",
              "reach": "client-callable",
              "via": "mapping :amhg_suicide_form_substances"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/treatment-plans/{plan_ien}": {
      "get": {
        "operationId": "BehavioralHealth.treatment_plan",
        "summary": "RpmsRpc::BehavioralHealth.treatment_plan(plan_ien)",
        "description": "Backed by `AMHG GET TREATMENT PLAN` (TP^AMHGDTP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "plan_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.treatment_plan(plan_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.treatment_plan(plan_ien)",
          "rpcs": [
            {
              "name": "AMHG GET TREATMENT PLAN",
              "registered": true,
              "entry_point": "TP^AMHGDTP",
              "reach": "client-callable",
              "via": "mapping :amhg_treatment_plan"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/treatment-plans/{plan_ien}/narrative": {
      "get": {
        "operationId": "BehavioralHealth.treatment_plan_narrative",
        "summary": "RpmsRpc::BehavioralHealth.treatment_plan_narrative(plan_ien)",
        "description": "Backed by `AMHG GET TP NARRATIVE` (NARR^AMHGDTP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "plan_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.treatment_plan_narrative(plan_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.treatment_plan_narrative(plan_ien)",
          "rpcs": [
            {
              "name": "AMHG GET TP NARRATIVE",
              "registered": true,
              "entry_point": "NARR^AMHGDTP",
              "reach": "client-callable",
              "via": "mapping :amhg_treatment_plan_narrative"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/treatment-plans/{plan_ien}/participants": {
      "get": {
        "operationId": "BehavioralHealth.treatment_plan_participants",
        "summary": "RpmsRpc::BehavioralHealth.treatment_plan_participants(plan_ien)",
        "description": "Backed by `AMHG GET TP PLAN PARTICIPANTS` (PPAR^AMHGDTP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "plan_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.treatment_plan_participants(plan_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.treatment_plan_participants(plan_ien)",
          "rpcs": [
            {
              "name": "AMHG GET TP PLAN PARTICIPANTS",
              "registered": true,
              "entry_point": "PPAR^AMHGDTP",
              "reach": "client-callable",
              "via": "mapping :amhg_treatment_plan_participants"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/treatment-plans/{plan_ien}/reviews": {
      "get": {
        "operationId": "BehavioralHealth.treatment_plan_reviews",
        "summary": "RpmsRpc::BehavioralHealth.treatment_plan_reviews(plan_ien)",
        "description": "Backed by `AMHG GET TP REVIEW` (REV^AMHGDTP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "plan_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.treatment_plan_reviews(plan_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.treatment_plan_reviews(plan_ien)",
          "rpcs": [
            {
              "name": "AMHG GET TP REVIEW",
              "registered": true,
              "entry_point": "REV^AMHGDTP",
              "reach": "client-callable",
              "via": "mapping :amhg_treatment_plan_reviews"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/activity": {
      "get": {
        "operationId": "BehavioralHealth.visit_activity",
        "summary": "RpmsRpc::BehavioralHealth.visit_activity(visit_ien)",
        "description": "Backed by `AMHG GET VISIT ACTIVITY` (ACT^AMHGDVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_activity(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_activity(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT ACTIVITY",
              "registered": true,
              "entry_point": "ACT^AMHGDVF",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_activity"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/axis-ii": {
      "get": {
        "operationId": "BehavioralHealth.visit_axis_ii",
        "summary": "RpmsRpc::BehavioralHealth.visit_axis_ii(visit_ien)",
        "description": "Backed by `AMHG GET VISIT AXIS II` (AXIS2^AMHGDVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_axis_ii(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_axis_ii(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT AXIS II",
              "registered": true,
              "entry_point": "AXIS2^AMHGDVF",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_axis_ii"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/axis-iii": {
      "get": {
        "operationId": "BehavioralHealth.visit_axis_iii",
        "summary": "RpmsRpc::BehavioralHealth.visit_axis_iii(visit_ien)",
        "description": "Backed by `AMHG GET VISIT AXIS III` (AXIS3^AMHGDVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_axis_iii(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_axis_iii(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT AXIS III",
              "registered": true,
              "entry_point": "AXIS3^AMHGDVF",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_axis_iii"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/axis-iv": {
      "get": {
        "operationId": "BehavioralHealth.visit_axis_iv",
        "summary": "RpmsRpc::BehavioralHealth.visit_axis_iv(visit_ien)",
        "description": "Backed by `AMHG GET VISIT AXIS IV` (AXIS4^AMHGDVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_axis_iv(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_axis_iv(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT AXIS IV",
              "registered": true,
              "entry_point": "AXIS4^AMHGDVF",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_axis_iv"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/axis-v": {
      "get": {
        "operationId": "BehavioralHealth.visit_axis_v",
        "summary": "RpmsRpc::BehavioralHealth.visit_axis_v(visit_ien)",
        "description": "Backed by `AMHG GET VISIT AXIS V` (AXIS5^AMHGDVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_axis_v(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_axis_v(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT AXIS V",
              "registered": true,
              "entry_point": "AXIS5^AMHGDVF",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_axis_v"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/chief-complaint": {
      "get": {
        "operationId": "BehavioralHealth.visit_chief_complaint",
        "summary": "RpmsRpc::BehavioralHealth.visit_chief_complaint(visit_ien)",
        "description": "Backed by `AMHG GET VISIT CC` (CC^AMHGDVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_chief_complaint(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_chief_complaint(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT CC",
              "registered": true,
              "entry_point": "CC^AMHGDVF",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_chief_complaint"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/comment-appointment": {
      "get": {
        "operationId": "BehavioralHealth.visit_comment_appointment",
        "summary": "RpmsRpc::BehavioralHealth.visit_comment_appointment(visit_ien)",
        "description": "Backed by `AMHG GET VISIT COMM APP` (COMAPP^AMHGDVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_comment_appointment(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_comment_appointment(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT COMM APP",
              "registered": true,
              "entry_point": "COMAPP^AMHGDVF",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_comment_appointment"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/information": {
      "get": {
        "operationId": "BehavioralHealth.visit_information",
        "summary": "RpmsRpc::BehavioralHealth.visit_information(visit_ien)",
        "description": "Backed by `AMHG GET VISIT INFORMATION` (VI^AMHGDVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_information(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_information(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT INFORMATION",
              "registered": true,
              "entry_point": "VI^AMHGDVF",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_information"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/screenings": {
      "get": {
        "operationId": "BehavioralHealth.visit_screenings",
        "summary": "RpmsRpc::BehavioralHealth.visit_screenings(visit_ien)",
        "description": "Backed by `AMHG GET VISIT SCREENING` (SCREENN^AMHGDVF3).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_screenings(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_screenings(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT SCREENING",
              "registered": true,
              "entry_point": "SCREENN^AMHGDVF3",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_screening"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/behavioral-health/visits/{visit_ien}/soap": {
      "get": {
        "operationId": "BehavioralHealth.visit_soap",
        "summary": "RpmsRpc::BehavioralHealth.visit_soap(visit_ien)",
        "description": "Backed by `AMHG GET VISIT SOAP` (SOAP^AMHGDVF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visit_soap(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visit_soap(visit_ien)",
          "rpcs": [
            {
              "name": "AMHG GET VISIT SOAP",
              "registered": true,
              "entry_point": "SOAP^AMHGDVF",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_soap"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/eligibility/codes": {
      "get": {
        "operationId": "Eligibility.codes",
        "summary": "RpmsRpc::Eligibility.codes()",
        "description": "Backed by `BGOVIMM2 GETELIG` (GETELIG^BGOVIMM2).\n\nLive specs: `test/live/eligibility_live_test.rb:25`, `test/live/eligibility_live_test.rb:38`.\n\nProven by a live spec.",
        "tags": [
          "/eligibility"
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Eligibility.codes() returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Eligibility.codes()",
          "rpcs": [
            {
              "name": "BGOVIMM2 GETELIG",
              "registered": true,
              "entry_point": "GETELIG^BGOVIMM2",
              "reach": "client-callable",
              "via": "mapping :vfc_eligibility_codes"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/eligibility_live_test.rb:25",
            "test/live/eligibility_live_test.rb:38"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/files": {
      "put": {
        "operationId": "DdrFileman.filer",
        "summary": "RpmsRpc::DdrFileman.filer(mode:, rows:, iens: ..., flags: ...)",
        "description": "Backed by `DDR FILER` (FILEC^DDR3).\n\nLive specs: `test/live/referral_cancel_live_test.rb:85`, `test/live/scheduling_hospital_locations_live_test.rb:77`.\n\nProven by a live spec.",
        "tags": [
          "/files"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mode": {
                    "description": "Ruby keyreq argument of filer"
                  },
                  "rows": {
                    "description": "Ruby keyreq argument of filer"
                  },
                  "iens": {
                    "description": "Ruby key argument of filer"
                  },
                  "flags": {
                    "description": "Ruby key argument of filer"
                  }
                },
                "required": [
                  "mode",
                  "rows"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::DdrFileman.filer(mode:, rows:, iens: ..., flags: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::DdrFileman.filer(mode:, rows:, iens: ..., flags: ...)",
          "rpcs": [
            {
              "name": "DDR FILER",
              "registered": true,
              "entry_point": "FILEC^DDR3",
              "reach": "client-callable",
              "via": "mapping :ddr_filer"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/referral_cancel_live_test.rb:85",
            "test/live/scheduling_hospital_locations_live_test.rb:77"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "write"
        }
      }
    },
    "/files/lock": {
      "post": {
        "operationId": "DdrFileman.lock",
        "summary": "RpmsRpc::DdrFileman.lock(node:, timeout: ...)",
        "description": "Backed by `DDR LOCK/UNLOCK NODE` (LOCKC^DDR1).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/files"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "node": {
                    "description": "Ruby keyreq argument of lock"
                  },
                  "timeout": {
                    "description": "Ruby key argument of lock"
                  }
                },
                "required": [
                  "node"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::DdrFileman.lock(node:, timeout: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::DdrFileman.lock(node:, timeout: ...)",
          "rpcs": [
            {
              "name": "DDR LOCK/UNLOCK NODE",
              "registered": true,
              "entry_point": "LOCKC^DDR1",
              "reach": "client-callable",
              "via": "mapping :ddr_lock_unlock_node"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/files/unlock": {
      "post": {
        "operationId": "DdrFileman.unlock",
        "summary": "RpmsRpc::DdrFileman.unlock(node:)",
        "description": "Backed by `DDR LOCK/UNLOCK NODE` (LOCKC^DDR1).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/files"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "node": {
                    "description": "Ruby keyreq argument of unlock"
                  }
                },
                "required": [
                  "node"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::DdrFileman.unlock(node:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::DdrFileman.unlock(node:)",
          "rpcs": [
            {
              "name": "DDR LOCK/UNLOCK NODE",
              "registered": true,
              "entry_point": "LOCKC^DDR1",
              "reach": "client-callable",
              "via": "mapping :ddr_lock_unlock_node"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/files/validate-key": {
      "post": {
        "operationId": "DdrFileman.validate_key",
        "summary": "RpmsRpc::DdrFileman.validate_key(values:)",
        "description": "Backed by `DDR KEY VALIDATOR` (KEYVAL^DDR4).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/files"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "values": {
                    "description": "Ruby keyreq argument of validate_key"
                  }
                },
                "required": [
                  "values"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::DdrFileman.validate_key(values:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::DdrFileman.validate_key(values:)",
          "rpcs": [
            {
              "name": "DDR KEY VALIDATOR",
              "registered": true,
              "entry_point": "KEYVAL^DDR4",
              "reach": "client-callable",
              "via": "mapping :ddr_key_validator"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/files/{file}": {
      "get": {
        "operationId": "DdrFileman.lister",
        "summary": "RpmsRpc::DdrFileman.lister(file:, iens: ..., fields: ..., flags: ..., max: ..., from: ..., part: ..., xref: ..., screen: ..., id: ..., options: ...)",
        "description": "Backed by `DDR LISTER` (LISTC^DDR).\n\nLive specs: `test/live/cia_reply_lines_live_test.rb:112`, `test/live/immunization_live_test.rb:78`, `test/live/location_find_live_test.rb:20`, `test/live/missing_rpc_live_test.rb:195`, `test/live/order_live_test.rb:157`, `test/live/organization_find_live_test.rb:22`, `test/live/organization_find_live_test.rb:40`, `test/live/procedure_live_test.rb:57`, `test/live/referral_cancel_live_test.rb:72`, `test/live/user_security_keys_live_test.rb:31`.\n\nProven by a live spec.",
        "tags": [
          "/files"
        ],
        "parameters": [
          {
            "name": "file",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "iens",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          },
          {
            "name": "flags",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          },
          {
            "name": "max",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          },
          {
            "name": "part",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          },
          {
            "name": "xref",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          },
          {
            "name": "screen",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          },
          {
            "name": "options",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lister",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::DdrFileman.lister(file:, iens: ..., fields: ..., flags: ..., max: ..., from: ..., part: ..., xref: ..., screen: ..., id: ..., options: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::DdrFileman.lister(file:, iens: ..., fields: ..., flags: ..., max: ..., from: ..., part: ..., xref: ..., screen: ..., id: ..., options: ...)",
          "rpcs": [
            {
              "name": "DDR LISTER",
              "registered": true,
              "entry_point": "LISTC^DDR",
              "reach": "client-callable",
              "via": "mapping :ddr_lister"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/cia_reply_lines_live_test.rb:112",
            "test/live/immunization_live_test.rb:78",
            "test/live/location_find_live_test.rb:20",
            "test/live/missing_rpc_live_test.rb:195",
            "test/live/order_live_test.rb:157",
            "test/live/organization_find_live_test.rb:22",
            "test/live/organization_find_live_test.rb:40",
            "test/live/procedure_live_test.rb:57",
            "test/live/referral_cancel_live_test.rb:72",
            "test/live/user_security_keys_live_test.rb:31"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "read"
        }
      }
    },
    "/files/{file}/entries/{iens}": {
      "get": {
        "operationId": "DdrFileman.gets_entry",
        "summary": "RpmsRpc::DdrFileman.gets_entry(file:, iens:, fields:, flags: ...)",
        "description": "Backed by `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: `test/live/immunization_live_test.rb:45`, `test/live/patient_live_test.rb:236`, `test/live/patient_update_live_test.rb:67`, `test/live/procedure_live_test.rb:36`, `test/live/referral_cancel_live_test.rb:64`, `test/live/scheduling_hospital_locations_live_test.rb:66`, `test/live/user_role_live_test.rb:30`.\n\nProven by a live spec.",
        "tags": [
          "/files"
        ],
        "parameters": [
          {
            "name": "file",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "iens",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of gets_entry",
            "schema": {}
          },
          {
            "name": "flags",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of gets_entry",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::DdrFileman.gets_entry(file:, iens:, fields:, flags: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::DdrFileman.gets_entry(file:, iens:, fields:, flags: ...)",
          "rpcs": [
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/immunization_live_test.rb:45",
            "test/live/patient_live_test.rb:236",
            "test/live/patient_update_live_test.rb:67",
            "test/live/procedure_live_test.rb:36",
            "test/live/referral_cancel_live_test.rb:64",
            "test/live/scheduling_hospital_locations_live_test.rb:66",
            "test/live/user_role_live_test.rb:30"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "read"
        }
      }
    },
    "/files/{file}/entries/{iens}/validate-field": {
      "post": {
        "operationId": "DdrFileman.validate_field",
        "summary": "RpmsRpc::DdrFileman.validate_field(file:, iens:, field:, value:)",
        "description": "Backed by `DDR VALIDATOR` (VALC^DDR3).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/files"
        ],
        "parameters": [
          {
            "name": "file",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "iens",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "field": {
                    "description": "Ruby keyreq argument of validate_field"
                  },
                  "value": {
                    "description": "Ruby keyreq argument of validate_field"
                  }
                },
                "required": [
                  "field",
                  "value"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::DdrFileman.validate_field(file:, iens:, field:, value:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::DdrFileman.validate_field(file:, iens:, field:, value:)",
          "rpcs": [
            {
              "name": "DDR VALIDATOR",
              "registered": true,
              "entry_point": "VALC^DDR3",
              "reach": "client-callable",
              "via": "mapping :ddr_validator"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/immunization-refusals/reasons": {
      "get": {
        "operationId": "ImmunizationRefusal.reasons",
        "summary": "RpmsRpc::ImmunizationRefusal.reasons(type = ...)",
        "description": "Backed by `BGOREF GETREA` (GETREA^BGOREF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/immunization-refusals"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Ruby opt argument of reasons",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::ImmunizationRefusal.reasons(type = ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ImmunizationRefusal.reasons(type = ...)",
          "rpcs": [
            {
              "name": "BGOREF GETREA",
              "registered": true,
              "entry_point": "GETREA^BGOREF",
              "reach": "client-callable",
              "via": "mapping :refusal_reasons"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/immunizations/{ien}": {
      "get": {
        "operationId": "Immunization.find",
        "summary": "RpmsRpc::Immunization.find(ien)",
        "description": "Backed by `BGOVIMM GET` (GET^BGOVIMM), `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: `test/live/immunization_live_test.rb:59`, `test/live/immunization_live_test.rb:63`.\n\nProven by a live spec.",
        "tags": [
          "/immunizations"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Immunization.find(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Immunization.find(ien)",
          "rpcs": [
            {
              "name": "BGOVIMM GET",
              "registered": true,
              "entry_point": "GET^BGOVIMM",
              "reach": "client-callable",
              "via": "mapping :immunization_list"
            },
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/immunization_live_test.rb:59",
            "test/live/immunization_live_test.rb:63"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "read"
        }
      }
    },
    "/locations/{ien}": {
      "get": {
        "operationId": "Location.find",
        "summary": "RpmsRpc::Location.find(ien)",
        "description": "Backed by `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: `test/live/location_find_live_test.rb:27`, `test/live/location_find_live_test.rb:43`.\n\nProven by a live spec.",
        "tags": [
          "/locations"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Location.find(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Location.find(ien)",
          "rpcs": [
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/location_find_live_test.rb:27",
            "test/live/location_find_live_test.rb:43"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "read"
        }
      }
    },
    "/measurements/{measurement_ien}": {
      "get": {
        "operationId": "Measurement.find",
        "summary": "RpmsRpc::Measurement.find(measurement_ien)",
        "description": "Backed by `BEHOENCX GETVISIT` (GETVISIT^BEHOENCX), `BEHOVM2 VUNITS` (VUNITS^BEHOVM2), `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/measurements"
        ],
        "parameters": [
          {
            "name": "measurement_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Measurement.find(measurement_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Measurement.find(measurement_ien)",
          "rpcs": [
            {
              "name": "BEHOENCX GETVISIT",
              "registered": true,
              "entry_point": "GETVISIT^BEHOENCX",
              "reach": "client-callable",
              "via": "mapping :encounter_visit"
            },
            {
              "name": "BEHOVM2 VUNITS",
              "registered": true,
              "entry_point": "VUNITS^BEHOVM2",
              "reach": "client-callable",
              "via": "mapping :vital_units"
            },
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "read"
        }
      }
    },
    "/medications/{ien}": {
      "get": {
        "operationId": "Medication.find",
        "summary": "RpmsRpc::Medication.find(ien)",
        "description": "Backed by `ORQQPS DETAIL` (DETAIL^ORQQPS).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/medications"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Medication.find(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Medication.find(ien)",
          "rpcs": [
            {
              "name": "ORQQPS DETAIL",
              "registered": true,
              "entry_point": "DETAIL^ORQQPS",
              "reach": "client-callable",
              "via": "mapping :medication_detail"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "read"
        }
      }
    },
    "/note-templates/{template_ien}/access-level": {
      "get": {
        "operationId": "NoteTemplate.access_level",
        "summary": "RpmsRpc::NoteTemplate.access_level(template_ien, user_duz)",
        "description": "Backed by `TIU TEMPLATE ACCESS LEVEL` (TACCESS^TIUSRVT2).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/note-templates"
        ],
        "parameters": [
          {
            "name": "template_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_duz",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of access_level",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::NoteTemplate.access_level(template_ien, user_duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::NoteTemplate.access_level(template_ien, user_duz)",
          "rpcs": [
            {
              "name": "TIU TEMPLATE ACCESS LEVEL",
              "registered": true,
              "entry_point": "TACCESS^TIUSRVT2",
              "reach": "client-callable",
              "via": "mapping :template_access_level"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/note-templates/{template_ien}/boilerplate": {
      "get": {
        "operationId": "NoteTemplate.boilerplate",
        "summary": "RpmsRpc::NoteTemplate.boilerplate(template_ien)",
        "description": "Backed by `TIU TEMPLATE GETBOIL` (GETBOIL^TIUSRVT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/note-templates"
        ],
        "parameters": [
          {
            "name": "template_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::NoteTemplate.boilerplate(template_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::NoteTemplate.boilerplate(template_ien)",
          "rpcs": [
            {
              "name": "TIU TEMPLATE GETBOIL",
              "registered": true,
              "entry_point": "GETBOIL^TIUSRVT",
              "reach": "client-callable",
              "via": "mapping :template_boilerplate"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/note-templates/{template_ien}/items": {
      "get": {
        "operationId": "NoteTemplate.items",
        "summary": "RpmsRpc::NoteTemplate.items(template_ien)",
        "description": "Backed by `TIU TEMPLATE GETITEMS` (GETITEMS^TIUSRVT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/note-templates"
        ],
        "parameters": [
          {
            "name": "template_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::NoteTemplate.items(template_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::NoteTemplate.items(template_ien)",
          "rpcs": [
            {
              "name": "TIU TEMPLATE GETITEMS",
              "registered": true,
              "entry_point": "GETITEMS^TIUSRVT",
              "reach": "client-callable",
              "via": "mapping :template_items"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/orders/all-sheets": {
      "get": {
        "operationId": "Order.all_sheets",
        "summary": "RpmsRpc::Order.all_sheets()",
        "description": "Backed by `ORWOR TSALL` (TSALL^ORWOR).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/orders"
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Order.all_sheets() returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Order.all_sheets()",
          "rpcs": [
            {
              "name": "ORWOR TSALL",
              "registered": true,
              "entry_point": "TSALL^ORWOR",
              "reach": "client-callable",
              "via": "mapping :order_sheets_all"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/orders/expired-search-start": {
      "get": {
        "operationId": "Order.expired_search_start",
        "summary": "RpmsRpc::Order.expired_search_start()",
        "description": "Backed by `ORWOR EXPIRED` (EXPIRED^ORWOR).\n\nLive specs: `test/live/order_live_test.rb:92`.\n\nProven by a live spec.",
        "tags": [
          "/orders"
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Order.expired_search_start() returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Order.expired_search_start()",
          "rpcs": [
            {
              "name": "ORWOR EXPIRED",
              "registered": true,
              "entry_point": "EXPIRED^ORWOR",
              "reach": "client-callable",
              "via": "mapping :order_expired"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/order_live_test.rb:92"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/orders/{order_ien}/action-text": {
      "get": {
        "operationId": "Order.action_text",
        "summary": "RpmsRpc::Order.action_text(order_ien, action_code)",
        "description": "Backed by `ORWOR ACTION TEXT` (ACTXT^ORWOR).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/orders"
        ],
        "parameters": [
          {
            "name": "order_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_code",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of action_text",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Order.action_text(order_ien, action_code) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Order.action_text(order_ien, action_code)",
          "rpcs": [
            {
              "name": "ORWOR ACTION TEXT",
              "registered": true,
              "entry_point": "ACTXT^ORWOR",
              "reach": "client-callable",
              "via": "mapping :order_action_text"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/organizations/{ien}": {
      "get": {
        "operationId": "Organization.find",
        "summary": "RpmsRpc::Organization.find(ien)",
        "description": "Backed by `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: `test/live/organization_find_live_test.rb:30`, `test/live/organization_find_live_test.rb:46`, `test/live/organization_find_live_test.rb:53`.\n\nProven by a live spec.",
        "tags": [
          "/organizations"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Organization.find(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Organization.find(ien)",
          "rpcs": [
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/organization_find_live_test.rb:30",
            "test/live/organization_find_live_test.rb:46",
            "test/live/organization_find_live_test.rb:53"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "read"
        }
      }
    },
    "/patients": {
      "get": {
        "operationId": "Patient.search",
        "summary": "RpmsRpc::Patient.search(name_pattern)",
        "description": "Backed by `ORWPT LIST ALL` (LISTALL^ORWPT).\n\nLive specs: `test/live/cia_reply_lines_live_test.rb:33`, `test/live/cia_reply_lines_live_test.rb:100`, `test/live/cia_sequence_echo_live_test.rb:33`, `test/live/cia_sequence_echo_live_test.rb:47`, `test/live/patient_live_test.rb:32`, `test/live/patient_live_test.rb:43`, `test/live/patient_live_test.rb:53`, `test/live/patient_live_test.rb:60`, `test/live/patient_live_test.rb:79`, `test/live/patient_live_test.rb:227`.\n\nProven by a live spec.",
        "tags": [
          "/patients"
        ],
        "parameters": [
          {
            "name": "name_pattern",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of search",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Patient.search(name_pattern) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Patient.search(name_pattern)",
          "rpcs": [
            {
              "name": "ORWPT LIST ALL",
              "registered": true,
              "entry_point": "LISTALL^ORWPT",
              "reach": "client-callable",
              "via": "mapping :patient_list"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/cia_reply_lines_live_test.rb:33",
            "test/live/cia_reply_lines_live_test.rb:100",
            "test/live/cia_sequence_echo_live_test.rb:33",
            "test/live/cia_sequence_echo_live_test.rb:47",
            "test/live/patient_live_test.rb:32",
            "test/live/patient_live_test.rb:43",
            "test/live/patient_live_test.rb:53",
            "test/live/patient_live_test.rb:60",
            "test/live/patient_live_test.rb:79",
            "test/live/patient_live_test.rb:227"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "query"
        }
      },
      "post": {
        "operationId": "Patient.register",
        "summary": "RpmsRpc::Patient.register(attrs)",
        "description": "Backed by `AGG ADD NEW PATIENT` (ADD^AGGPTADD), `AGG UPDATE PATIENT` (UPD^AGGPTUPD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/patients"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "attrs": {
                    "description": "Ruby req argument of register"
                  }
                },
                "required": [
                  "attrs"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Patient.register(attrs) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Patient.register(attrs)",
          "rpcs": [
            {
              "name": "AGG ADD NEW PATIENT",
              "registered": true,
              "entry_point": "ADD^AGGPTADD",
              "reach": "client-callable",
              "via": "literal"
            },
            {
              "name": "AGG UPDATE PATIENT",
              "registered": true,
              "entry_point": "UPD^AGGPTUPD",
              "reach": "client-callable",
              "via": "literal"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/by-ssn": {
      "get": {
        "operationId": "Patient.find_by_ssn",
        "summary": "RpmsRpc::Patient.find_by_ssn(ssn)",
        "description": "Backed by `ORWPT FULLSSN` (FULLSSN^ORWPT).\n\nLive specs: `test/live/cia_reply_lines_live_test.rb:61`, `test/live/cia_reply_lines_live_test.rb:67`, `test/live/patient_live_test.rb:142`, `test/live/patient_live_test.rb:156`, `test/live/patient_live_test.rb:163`.\n\nProven by a live spec.",
        "tags": [
          "/patients"
        ],
        "parameters": [
          {
            "name": "ssn",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of find_by_ssn",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Patient.find_by_ssn(ssn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Patient.find_by_ssn(ssn)",
          "rpcs": [
            {
              "name": "ORWPT FULLSSN",
              "registered": true,
              "entry_point": "FULLSSN^ORWPT",
              "reach": "client-callable",
              "via": "mapping :patient_ssn"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/cia_reply_lines_live_test.rb:61",
            "test/live/cia_reply_lines_live_test.rb:67",
            "test/live/patient_live_test.rb:142",
            "test/live/patient_live_test.rb:156",
            "test/live/patient_live_test.rb:163"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "query-sub-path"
        }
      }
    },
    "/patients/lookup": {
      "get": {
        "operationId": "Patient.lookup",
        "summary": "RpmsRpc::Patient.lookup(text, type: ..., all_divisions: ..., include_inactive: ..., **opts)",
        "description": "Backed by `AGG LOOKUP PATIENTS` (FND^AGGPTLKP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/patients"
        ],
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of lookup",
            "schema": {}
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lookup",
            "schema": {}
          },
          {
            "name": "all_divisions",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lookup",
            "schema": {}
          },
          {
            "name": "include_inactive",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of lookup",
            "schema": {}
          },
          {
            "name": "opts",
            "in": "query",
            "required": false,
            "description": "Ruby keyrest argument of lookup",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Patient.lookup(text, type: ..., all_divisions: ..., include_inactive: ..., **opts) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Patient.lookup(text, type: ..., all_divisions: ..., include_inactive: ..., **opts)",
          "rpcs": [
            {
              "name": "AGG LOOKUP PATIENTS",
              "registered": true,
              "entry_point": "FND^AGGPTLKP",
              "reach": "client-callable",
              "via": "mapping :patient_lookup_agg"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "query-sub-path"
        }
      }
    },
    "/patients/{dfn}": {
      "get": {
        "operationId": "Patient.find",
        "summary": "RpmsRpc::Patient.find(dfn)",
        "description": "Backed by `ORWPT ID INFO` (IDINFO^ORWPT), `ORWPT SELECT` (SELECT^ORWPT).\n\nLive specs: `test/live/cia_reply_lines_live_test.rb:45`, `test/live/cia_reply_lines_live_test.rb:103`, `test/live/cia_sequence_echo_live_test.rb:38`, `test/live/cia_sequence_echo_live_test.rb:54`, `test/live/patient_live_test.rb:85`, `test/live/patient_live_test.rb:116`, `test/live/patient_live_test.rb:136`, `test/live/patient_live_test.rb:194`.\n\nProven by a live spec.",
        "tags": [
          "/patients"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Patient.find(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Patient.find(dfn)",
          "rpcs": [
            {
              "name": "ORWPT ID INFO",
              "registered": true,
              "entry_point": "IDINFO^ORWPT",
              "reach": "client-callable",
              "via": "mapping :patient_id_info"
            },
            {
              "name": "ORWPT SELECT",
              "registered": true,
              "entry_point": "SELECT^ORWPT",
              "reach": "client-callable",
              "via": "mapping :patient_select"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/cia_reply_lines_live_test.rb:45",
            "test/live/cia_reply_lines_live_test.rb:103",
            "test/live/cia_sequence_echo_live_test.rb:38",
            "test/live/cia_sequence_echo_live_test.rb:54",
            "test/live/patient_live_test.rb:85",
            "test/live/patient_live_test.rb:116",
            "test/live/patient_live_test.rb:136",
            "test/live/patient_live_test.rb:194"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "read"
        }
      },
      "put": {
        "operationId": "Patient.update",
        "summary": "RpmsRpc::Patient.update(dfn, patient_fields: ..., ihs_fields: ...)",
        "description": "Backed by `DDR FILER` (FILEC^DDR3), `DDR LOCK/UNLOCK NODE` (LOCKC^DDR1).\n\nLive specs: `test/live/patient_update_live_test.rb:22`, `test/live/patient_update_live_test.rb:24`, `test/live/patient_update_live_test.rb:33`, `test/live/patient_update_live_test.rb:35`, `test/live/patient_update_live_test.rb:49`, `test/live/patient_update_live_test.rb:52`.\n\nProven by a live spec.",
        "tags": [
          "/patients"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "patient_fields": {
                    "description": "Ruby key argument of update"
                  },
                  "ihs_fields": {
                    "description": "Ruby key argument of update"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Patient.update(dfn, patient_fields: ..., ihs_fields: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Patient.update(dfn, patient_fields: ..., ihs_fields: ...)",
          "rpcs": [
            {
              "name": "DDR FILER",
              "registered": true,
              "entry_point": "FILEC^DDR3",
              "reach": "client-callable",
              "via": "mapping :ddr_filer"
            },
            {
              "name": "DDR LOCK/UNLOCK NODE",
              "registered": true,
              "entry_point": "LOCKC^DDR1",
              "reach": "client-callable",
              "via": "mapping :ddr_lock_unlock_node"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/patient_update_live_test.rb:22",
            "test/live/patient_update_live_test.rb:24",
            "test/live/patient_update_live_test.rb:33",
            "test/live/patient_update_live_test.rb:35",
            "test/live/patient_update_live_test.rb:49",
            "test/live/patient_update_live_test.rb:52"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "write"
        }
      }
    },
    "/patients/{dfn}/admissions": {
      "get": {
        "operationId": "Adt.admissions",
        "summary": "RpmsRpc::Adt.admissions(dfn)",
        "description": "Backed by `ORWPT ADMITLST` (ADMITLST^ORWPT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/admissions"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Adt.admissions(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Adt.admissions(dfn)",
          "rpcs": [
            {
              "name": "ORWPT ADMITLST",
              "registered": true,
              "entry_point": "ADMITLST^ORWPT",
              "reach": "client-callable",
              "via": "mapping :patient_admissions"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/admissions/current-location": {
      "get": {
        "operationId": "Adt.current_location",
        "summary": "RpmsRpc::Adt.current_location(dfn)",
        "description": "Backed by `ORWPT INPLOC` (INPLOC^ORWPT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/admissions"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Adt.current_location(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Adt.current_location(dfn)",
          "rpcs": [
            {
              "name": "ORWPT INPLOC",
              "registered": true,
              "entry_point": "INPLOC^ORWPT",
              "reach": "client-callable",
              "via": "mapping :patient_current_location"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/admissions/discharge-datetime": {
      "get": {
        "operationId": "Adt.discharge_datetime",
        "summary": "RpmsRpc::Adt.discharge_datetime(dfn, admit_datetime)",
        "description": "Backed by `ORWPT DISCHARGE` (DISCHRG^ORWPT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/admissions"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "admit_datetime",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of discharge_datetime",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Adt.discharge_datetime(dfn, admit_datetime) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Adt.discharge_datetime(dfn, admit_datetime)",
          "rpcs": [
            {
              "name": "ORWPT DISCHARGE",
              "registered": true,
              "entry_point": "DISCHRG^ORWPT",
              "reach": "client-callable",
              "via": "mapping :patient_discharge"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/agg": {
      "put": {
        "operationId": "Agg.update_patient",
        "summary": "RpmsRpc::Agg.update_patient(dfn:, params:, window: ..., client: ...)",
        "description": "Backed by `AGG UPDATE PATIENT` (UPD^AGGPTUPD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/agg"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "params": {
                    "description": "Ruby keyreq argument of update_patient"
                  },
                  "window": {
                    "description": "Ruby key argument of update_patient"
                  },
                  "client": {
                    "description": "Ruby key argument of update_patient"
                  }
                },
                "required": [
                  "params"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Agg.update_patient(dfn:, params:, window: ..., client: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Agg.update_patient(dfn:, params:, window: ..., client: ...)",
          "rpcs": [
            {
              "name": "AGG UPDATE PATIENT",
              "registered": true,
              "entry_point": "UPD^AGGPTUPD",
              "reach": "client-callable",
              "via": "literal"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "write"
        }
      }
    },
    "/patients/{dfn}/agg/edit-check": {
      "get": {
        "operationId": "Agg.edit_check",
        "summary": "RpmsRpc::Agg.edit_check(dfn:, client: ...)",
        "description": "Backed by `AGG PATIENT EDIT CHECK` (CHK^AGGEDCHK).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/agg"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of edit_check",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Agg.edit_check(dfn:, client: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Agg.edit_check(dfn:, client: ...)",
          "rpcs": [
            {
              "name": "AGG PATIENT EDIT CHECK",
              "registered": true,
              "entry_point": "CHK^AGGEDCHK",
              "reach": "client-callable",
              "via": "literal"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/allergies": {
      "get": {
        "operationId": "Allergy.for_patient",
        "summary": "RpmsRpc::Allergy.for_patient(dfn)",
        "description": "Backed by `ORQQAL LIST` (LIST^ORQQAL).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/allergies"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Allergy.for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Allergy.for_patient(dfn)",
          "rpcs": [
            {
              "name": "ORQQAL LIST",
              "registered": true,
              "entry_point": "LIST^ORQQAL",
              "reach": "client-callable",
              "via": "mapping :allergy_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/allergies/assessment": {
      "get": {
        "operationId": "Allergy.assessment",
        "summary": "RpmsRpc::Allergy.assessment(dfn)",
        "description": "Backed by `ORQQAL LIST` (LIST^ORQQAL).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/allergies"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Allergy.assessment(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Allergy.assessment(dfn)",
          "rpcs": [
            {
              "name": "ORQQAL LIST",
              "registered": true,
              "entry_point": "LIST^ORQQAL",
              "reach": "client-callable",
              "via": "mapping :allergy_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/behavioral-health/cases/dates": {
      "get": {
        "operationId": "BehavioralHealth::CaseManagement.case_dates",
        "summary": "RpmsRpc::BehavioralHealth::CaseManagement.case_dates(dfn, from:, to:)",
        "description": "Backed by `AMHG GET CASE DATES` (CML^AMHGD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of case_dates",
            "schema": {}
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of case_dates",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::CaseManagement.case_dates(dfn, from:, to:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::CaseManagement.case_dates(dfn, from:, to:)",
          "rpcs": [
            {
              "name": "AMHG GET CASE DATES",
              "registered": true,
              "entry_point": "CML^AMHGD",
              "reach": "client-callable",
              "via": "mapping :amhg_case_dates"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/behavioral-health/intakes": {
      "get": {
        "operationId": "BehavioralHealth::Intake.intakes",
        "summary": "RpmsRpc::BehavioralHealth::Intake.intakes(dfn, from:, to:)",
        "description": "Backed by `AMHG GET INTAKE` (INTAKEL^AMHGDA).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of intakes",
            "schema": {}
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of intakes",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Intake.intakes(dfn, from:, to:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Intake.intakes(dfn, from:, to:)",
          "rpcs": [
            {
              "name": "AMHG GET INTAKE",
              "registered": true,
              "entry_point": "INTAKEL^AMHGDA",
              "reach": "client-callable",
              "via": "mapping :amhg_intake_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/behavioral-health/intakes/documents": {
      "get": {
        "operationId": "BehavioralHealth::Intake.intake_documents",
        "summary": "RpmsRpc::BehavioralHealth::Intake.intake_documents(dfn, program:, from:, to:)",
        "description": "Backed by `AMHG GET INTAKE DOCUMENTS` (INT^AMHGDINT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "program",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of intake_documents",
            "schema": {}
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of intake_documents",
            "schema": {}
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of intake_documents",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth::Intake.intake_documents(dfn, program:, from:, to:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth::Intake.intake_documents(dfn, program:, from:, to:)",
          "rpcs": [
            {
              "name": "AMHG GET INTAKE DOCUMENTS",
              "registered": true,
              "entry_point": "INT^AMHGDINT",
              "reach": "client-callable",
              "via": "mapping :amhg_intake_documents"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/behavioral-health/suicide-forms": {
      "get": {
        "operationId": "BehavioralHealth.suicide_forms",
        "summary": "RpmsRpc::BehavioralHealth.suicide_forms(dfn, from:, to:)",
        "description": "Backed by `AMHG GET SUICIDE FORMS` (SFL^AMHGD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of suicide_forms",
            "schema": {}
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of suicide_forms",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.suicide_forms(dfn, from:, to:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.suicide_forms(dfn, from:, to:)",
          "rpcs": [
            {
              "name": "AMHG GET SUICIDE FORMS",
              "registered": true,
              "entry_point": "SFL^AMHGD",
              "reach": "client-callable",
              "via": "mapping :amhg_suicide_form_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/behavioral-health/treatment-plans": {
      "get": {
        "operationId": "BehavioralHealth.treatment_plans",
        "summary": "RpmsRpc::BehavioralHealth.treatment_plans(dfn, from:, to:)",
        "description": "Backed by `AMHG GET TREATMENT PLANS` (TPL^AMHGD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of treatment_plans",
            "schema": {}
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of treatment_plans",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.treatment_plans(dfn, from:, to:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.treatment_plans(dfn, from:, to:)",
          "rpcs": [
            {
              "name": "AMHG GET TREATMENT PLANS",
              "registered": true,
              "entry_point": "TPL^AMHGD",
              "reach": "client-callable",
              "via": "mapping :amhg_treatment_plan_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/behavioral-health/visits": {
      "get": {
        "operationId": "BehavioralHealth.visits",
        "summary": "RpmsRpc::BehavioralHealth.visits(dfn, from:, to:)",
        "description": "Backed by `AMHG GET VISITS` (VISITL^AMHGD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/behavioral-health"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of visits",
            "schema": {}
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of visits",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::BehavioralHealth.visits(dfn, from:, to:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::BehavioralHealth.visits(dfn, from:, to:)",
          "rpcs": [
            {
              "name": "AMHG GET VISITS",
              "registered": true,
              "entry_point": "VISITL^AMHGD",
              "reach": "client-callable",
              "via": "mapping :amhg_visit_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/brief-header": {
      "get": {
        "operationId": "Patient.brief_header",
        "summary": "RpmsRpc::Patient.brief_header(dfn)",
        "description": "Backed by `BEHOCACV CWAD` (CWAD^BEHOCACV), `BEHOPTCX PTINFO` (PTINFO^BEHOPTCX), `BEHOPTPC GETBDP` (GETBDP^BEHOPTPC).\n\nLive specs: `test/live/missing_rpc_live_test.rb:77`, `test/live/patient_live_test.rb:172`, `test/live/patient_live_test.rb:184`, `test/live/patient_live_test.rb:193`, `test/live/patient_live_test.rb:203`.\n\nProven by a live spec.",
        "tags": [
          "/patients"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Patient.brief_header(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Patient.brief_header(dfn)",
          "rpcs": [
            {
              "name": "BEHOCACV CWAD",
              "registered": true,
              "entry_point": "CWAD^BEHOCACV",
              "reach": "client-callable",
              "via": "mapping :patient_cwad"
            },
            {
              "name": "BEHOPTCX PTINFO",
              "registered": true,
              "entry_point": "PTINFO^BEHOPTCX",
              "reach": "client-callable",
              "via": "mapping :patient_ptinfo"
            },
            {
              "name": "BEHOPTPC GETBDP",
              "registered": true,
              "entry_point": "GETBDP^BEHOPTPC",
              "reach": "client-callable",
              "via": "mapping :patient_designated_provider"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:77",
            "test/live/patient_live_test.rb:172",
            "test/live/patient_live_test.rb:184",
            "test/live/patient_live_test.rb:193",
            "test/live/patient_live_test.rb:203"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/contact": {
      "get": {
        "operationId": "Patient.contact",
        "summary": "RpmsRpc::Patient.contact(dfn)",
        "description": "Backed by `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: `test/live/patient_live_test.rb:211`, `test/live/patient_live_test.rb:215`, `test/live/patient_live_test.rb:220`, `test/live/patient_update_live_test.rb:20`, `test/live/patient_update_live_test.rb:27`, `test/live/patient_update_live_test.rb:46`, `test/live/patient_update_live_test.rb:55`.\n\nProven by a live spec.",
        "tags": [
          "/patients"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Patient.contact(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Patient.contact(dfn)",
          "rpcs": [
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/patient_live_test.rb:211",
            "test/live/patient_live_test.rb:215",
            "test/live/patient_live_test.rb:220",
            "test/live/patient_update_live_test.rb:20",
            "test/live/patient_update_live_test.rb:27",
            "test/live/patient_update_live_test.rb:46",
            "test/live/patient_update_live_test.rb:55"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/eligibility": {
      "get": {
        "operationId": "Eligibility.for_patient",
        "summary": "RpmsRpc::Eligibility.for_patient(dfn)",
        "description": "Backed by `BGOVIMM GETVFC` (GETVFC^BGOVIMM2), `BGOVIMM2 GETELIG` (GETELIG^BGOVIMM2).\n\nLive specs: `test/live/eligibility_live_test.rb:40`, `test/live/eligibility_live_test.rb:56`.\n\nProven by a live spec.",
        "tags": [
          "/eligibility"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Eligibility.for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Eligibility.for_patient(dfn)",
          "rpcs": [
            {
              "name": "BGOVIMM GETVFC",
              "registered": true,
              "entry_point": "GETVFC^BGOVIMM2",
              "reach": "client-callable",
              "via": "mapping :vfc_default"
            },
            {
              "name": "BGOVIMM2 GETELIG",
              "registered": true,
              "entry_point": "GETELIG^BGOVIMM2",
              "reach": "client-callable",
              "via": "mapping :vfc_eligibility_codes"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/eligibility_live_test.rb:40",
            "test/live/eligibility_live_test.rb:56"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/encounters": {
      "get": {
        "operationId": "Encounter.for_patient",
        "summary": "RpmsRpc::Encounter.for_patient(dfn)",
        "description": "Backed by `ORWPT APPTLST` (APPTLST^ORWPT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/encounters"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Encounter.for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Encounter.for_patient(dfn)",
          "rpcs": [
            {
              "name": "ORWPT APPTLST",
              "registered": true,
              "entry_point": "APPTLST^ORWPT",
              "reach": "client-callable",
              "via": "mapping :patient_appointments"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      },
      "post": {
        "operationId": "Encounter.create",
        "summary": "RpmsRpc::Encounter.create(dfn, location_ien:, datetime:, service_category:, provider_ien: ..., create: ...)",
        "description": "Backed by `BEHOENCX FETCH` (FETCH^BEHOENCX).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/encounters"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "location_ien": {
                    "description": "Ruby keyreq argument of create"
                  },
                  "datetime": {
                    "description": "Ruby keyreq argument of create"
                  },
                  "service_category": {
                    "description": "Ruby keyreq argument of create"
                  },
                  "provider_ien": {
                    "description": "Ruby key argument of create"
                  },
                  "create": {
                    "description": "Ruby key argument of create"
                  }
                },
                "required": [
                  "location_ien",
                  "datetime",
                  "service_category"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Encounter.create(dfn, location_ien:, datetime:, service_category:, provider_ien: ..., create: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Encounter.create(dfn, location_ien:, datetime:, service_category:, provider_ien: ..., create: ...)",
          "rpcs": [
            {
              "name": "BEHOENCX FETCH",
              "registered": true,
              "entry_point": "FETCH^BEHOENCX",
              "reach": "client-callable",
              "via": "mapping :encounter_fetch"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/encounters/{visit_ien}/open": {
      "post": {
        "operationId": "Encounter.open",
        "summary": "RpmsRpc::Encounter.open(dfn, visit_ien)",
        "description": "Backed by `BEHOENCX CHKVISIT` (CHKVISIT^BEHOENCX), `BEHOENCX FETCH` (FETCH^BEHOENCX), `BEHOENCX GETVISIT` (GETVISIT^BEHOENCX).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/encounters"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Encounter.open(dfn, visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Encounter.open(dfn, visit_ien)",
          "rpcs": [
            {
              "name": "BEHOENCX CHKVISIT",
              "registered": true,
              "entry_point": "CHKVISIT^BEHOENCX",
              "reach": "client-callable",
              "via": "mapping :encounter_chkvisit"
            },
            {
              "name": "BEHOENCX FETCH",
              "registered": true,
              "entry_point": "FETCH^BEHOENCX",
              "reach": "client-callable",
              "via": "mapping :encounter_fetch"
            },
            {
              "name": "BEHOENCX GETVISIT",
              "registered": true,
              "entry_point": "GETVISIT^BEHOENCX",
              "reach": "client-callable",
              "via": "mapping :encounter_visit"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/patients/{dfn}/exam-components": {
      "post": {
        "operationId": "ExamComponent.add",
        "summary": "RpmsRpc::ExamComponent.add(dfn, visit_ien, exam_code, finding:, narrative: ..., provider_duz: ...)",
        "description": "Backed by `BGOVEXAM SET` (SET^BGOVEXAM).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/exam-components"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "visit_ien": {
                    "description": "Ruby req argument of add"
                  },
                  "exam_code": {
                    "description": "Ruby req argument of add"
                  },
                  "finding": {
                    "description": "Ruby keyreq argument of add"
                  },
                  "narrative": {
                    "description": "Ruby key argument of add"
                  },
                  "provider_duz": {
                    "description": "Ruby key argument of add"
                  }
                },
                "required": [
                  "visit_ien",
                  "exam_code",
                  "finding"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::ExamComponent.add(dfn, visit_ien, exam_code, finding:, narrative: ..., provider_duz: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ExamComponent.add(dfn, visit_ien, exam_code, finding:, narrative: ..., provider_duz: ...)",
          "rpcs": [
            {
              "name": "BGOVEXAM SET",
              "registered": true,
              "entry_point": "SET^BGOVEXAM",
              "reach": "client-callable",
              "via": "mapping :exam_set"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/health-factors": {
      "post": {
        "operationId": "HealthFactor.add",
        "summary": "RpmsRpc::HealthFactor.add(dfn, visit_ien, factor_code, level:, narrative: ..., provider_duz: ..., quantity: ...)",
        "description": "Backed by `BGOVHF SET` (SET^BGOVHF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/health-factors"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "visit_ien": {
                    "description": "Ruby req argument of add"
                  },
                  "factor_code": {
                    "description": "Ruby req argument of add"
                  },
                  "level": {
                    "description": "Ruby keyreq argument of add"
                  },
                  "narrative": {
                    "description": "Ruby key argument of add"
                  },
                  "provider_duz": {
                    "description": "Ruby key argument of add"
                  },
                  "quantity": {
                    "description": "Ruby key argument of add"
                  }
                },
                "required": [
                  "visit_ien",
                  "factor_code",
                  "level"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::HealthFactor.add(dfn, visit_ien, factor_code, level:, narrative: ..., provider_duz: ..., quantity: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::HealthFactor.add(dfn, visit_ien, factor_code, level:, narrative: ..., provider_duz: ..., quantity: ...)",
          "rpcs": [
            {
              "name": "BGOVHF SET",
              "registered": true,
              "entry_point": "SET^BGOVHF",
              "reach": "client-callable",
              "via": "mapping :health_factor_set"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/health-summaries": {
      "get": {
        "operationId": "HealthSummary.for_patient",
        "summary": "RpmsRpc::HealthSummary.for_patient(dfn, summary_type: ...)",
        "description": "Backed by `ORWRP REPORT TEXT` (RPT^ORWRP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/health-summaries"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "summary_type",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of for_patient",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::HealthSummary.for_patient(dfn, summary_type: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::HealthSummary.for_patient(dfn, summary_type: ...)",
          "rpcs": [
            {
              "name": "ORWRP REPORT TEXT",
              "registered": true,
              "entry_point": "RPT^ORWRP",
              "reach": "client-callable",
              "via": "mapping :report_text"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/health-summaries/clinical-reminders": {
      "get": {
        "operationId": "HealthSummary.clinical_reminders",
        "summary": "RpmsRpc::HealthSummary.clinical_reminders(dfn)",
        "description": "Backed by `ORQQPX REMINDERS LIST` (REMIND^ORQQPX).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/health-summaries"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::HealthSummary.clinical_reminders(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::HealthSummary.clinical_reminders(dfn)",
          "rpcs": [
            {
              "name": "ORQQPX REMINDERS LIST",
              "registered": true,
              "entry_point": "REMIND^ORQQPX",
              "reach": "client-callable",
              "via": "mapping :reminders_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/health-summaries/component-data": {
      "get": {
        "operationId": "HealthSummary.component_data",
        "summary": "RpmsRpc::HealthSummary.component_data(dfn, component)",
        "description": "Backed by `ORWRP REPORT TEXT` (RPT^ORWRP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/health-summaries"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "component",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of component_data",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::HealthSummary.component_data(dfn, component) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::HealthSummary.component_data(dfn, component)",
          "rpcs": [
            {
              "name": "ORWRP REPORT TEXT",
              "registered": true,
              "entry_point": "RPT^ORWRP",
              "reach": "client-callable",
              "via": "mapping :report_text"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/health-summaries/generate-selective": {
      "post": {
        "operationId": "HealthSummary.generate_selective",
        "summary": "RpmsRpc::HealthSummary.generate_selective(dfn, components:)",
        "description": "Backed by `ORWRP REPORT TEXT` (RPT^ORWRP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/health-summaries"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "components": {
                    "description": "Ruby keyreq argument of generate_selective"
                  }
                },
                "required": [
                  "components"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::HealthSummary.generate_selective(dfn, components:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::HealthSummary.generate_selective(dfn, components:)",
          "rpcs": [
            {
              "name": "ORWRP REPORT TEXT",
              "registered": true,
              "entry_point": "RPT^ORWRP",
              "reach": "client-callable",
              "via": "mapping :report_text"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/patients/{dfn}/health-summaries/reminders/{reminder_ien}": {
      "get": {
        "operationId": "HealthSummary.reminder_detail",
        "summary": "RpmsRpc::HealthSummary.reminder_detail(dfn, reminder_ien)",
        "description": "Backed by `ORQQPX REMINDER DETAIL` (REMDET^ORQQPX).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/health-summaries"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reminder_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::HealthSummary.reminder_detail(dfn, reminder_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::HealthSummary.reminder_detail(dfn, reminder_ien)",
          "rpcs": [
            {
              "name": "ORQQPX REMINDER DETAIL",
              "registered": true,
              "entry_point": "REMDET^ORQQPX",
              "reach": "client-callable",
              "via": "mapping :reminder_detail"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/images/exams": {
      "get": {
        "operationId": "Image.exams_for_patient",
        "summary": "RpmsRpc::Image.exams_for_patient(dfn)",
        "description": "Backed by `ORWRA IMAGING EXAMS1` (EXAMS1^ORWRA).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/images"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Image.exams_for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Image.exams_for_patient(dfn)",
          "rpcs": [
            {
              "name": "ORWRA IMAGING EXAMS1",
              "registered": true,
              "entry_point": "EXAMS1^ORWRA",
              "reach": "client-callable",
              "via": "mapping :image_exams"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/immunization-refusals": {
      "post": {
        "operationId": "ImmunizationRefusal.record",
        "summary": "RpmsRpc::ImmunizationRefusal.record(dfn, vaccine_ien, reason_ien:, narrative: ..., refusal_date: ..., provider_duz: ...)",
        "description": "Backed by `BGOREF SET` (SET^BGOREF).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/immunization-refusals"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vaccine_ien": {
                    "description": "Ruby req argument of record"
                  },
                  "reason_ien": {
                    "description": "Ruby keyreq argument of record"
                  },
                  "narrative": {
                    "description": "Ruby key argument of record"
                  },
                  "refusal_date": {
                    "description": "Ruby key argument of record"
                  },
                  "provider_duz": {
                    "description": "Ruby key argument of record"
                  }
                },
                "required": [
                  "vaccine_ien",
                  "reason_ien"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::ImmunizationRefusal.record(dfn, vaccine_ien, reason_ien:, narrative: ..., refusal_date: ..., provider_duz: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ImmunizationRefusal.record(dfn, vaccine_ien, reason_ien:, narrative: ..., refusal_date: ..., provider_duz: ...)",
          "rpcs": [
            {
              "name": "BGOREF SET",
              "registered": true,
              "entry_point": "SET^BGOREF",
              "reach": "client-callable",
              "via": "mapping :refusal_set"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/immunizations": {
      "get": {
        "operationId": "Immunization.for_patient",
        "summary": "RpmsRpc::Immunization.for_patient(dfn)",
        "description": "Backed by `BGOVIMM GET` (GET^BGOVIMM).\n\nLive specs: `test/live/immunization_live_test.rb:31`, `test/live/immunization_live_test.rb:41`, `test/live/immunization_live_test.rb:58`.\n\nProven by a live spec.",
        "tags": [
          "/immunizations"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Immunization.for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Immunization.for_patient(dfn)",
          "rpcs": [
            {
              "name": "BGOVIMM GET",
              "registered": true,
              "entry_point": "GET^BGOVIMM",
              "reach": "client-callable",
              "via": "mapping :immunization_list"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/immunization_live_test.rb:31",
            "test/live/immunization_live_test.rb:41",
            "test/live/immunization_live_test.rb:58"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/immunizations/text-summary": {
      "get": {
        "operationId": "Immunization.text_summary",
        "summary": "RpmsRpc::Immunization.text_summary(dfn)",
        "description": "Backed by `BEHOCIR GETTXT` (GETTXT^BEHOCIR).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/immunizations"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Immunization.text_summary(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Immunization.text_summary(dfn)",
          "rpcs": [
            {
              "name": "BEHOCIR GETTXT",
              "registered": true,
              "entry_point": "GETTXT^BEHOCIR",
              "reach": "client-callable",
              "via": "mapping :immunization_text"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/measurements": {
      "post": {
        "operationId": "Measurement.add",
        "summary": "RpmsRpc::Measurement.add(dfn, visit_ien, measurement_type, value, units:, qualifier: ...)",
        "description": "Backed by `BGOVMSR SET` (SET^BGOVMSR).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/measurements"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "visit_ien": {
                    "description": "Ruby req argument of add"
                  },
                  "measurement_type": {
                    "description": "Ruby req argument of add"
                  },
                  "value": {
                    "description": "Ruby req argument of add"
                  },
                  "units": {
                    "description": "Ruby keyreq argument of add"
                  },
                  "qualifier": {
                    "description": "Ruby key argument of add"
                  }
                },
                "required": [
                  "visit_ien",
                  "measurement_type",
                  "value",
                  "units"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Measurement.add(dfn, visit_ien, measurement_type, value, units:, qualifier: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Measurement.add(dfn, visit_ien, measurement_type, value, units:, qualifier: ...)",
          "rpcs": [
            {
              "name": "BGOVMSR SET",
              "registered": true,
              "entry_point": "SET^BGOVMSR",
              "reach": "client-callable",
              "via": "mapping :measurement_set"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/measurements/latest": {
      "get": {
        "operationId": "Measurement.latest",
        "summary": "RpmsRpc::Measurement.latest(dfn, types: ..., visit_ien: ...)",
        "description": "Backed by `BEHOENCX GETVISIT` (GETVISIT^BEHOENCX), `BEHOVM2 VUNITS` (VUNITS^BEHOVM2), `BGOVMSR LAST` (LAST^BGOVMSR), `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/measurements"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of latest",
            "schema": {}
          },
          {
            "name": "visit_ien",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of latest",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Measurement.latest(dfn, types: ..., visit_ien: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Measurement.latest(dfn, types: ..., visit_ien: ...)",
          "rpcs": [
            {
              "name": "BEHOENCX GETVISIT",
              "registered": true,
              "entry_point": "GETVISIT^BEHOENCX",
              "reach": "client-callable",
              "via": "mapping :encounter_visit"
            },
            {
              "name": "BEHOVM2 VUNITS",
              "registered": true,
              "entry_point": "VUNITS^BEHOVM2",
              "reach": "client-callable",
              "via": "mapping :vital_units"
            },
            {
              "name": "BGOVMSR LAST",
              "registered": true,
              "entry_point": "LAST^BGOVMSR",
              "reach": "client-callable",
              "via": "mapping :latest_measurements"
            },
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/measurements/newest-by-type": {
      "get": {
        "operationId": "Measurement.newest_by_type",
        "summary": "RpmsRpc::Measurement.newest_by_type(dfn, start_date: ..., end_date: ...)",
        "description": "Backed by `BEHOENCX GETVISIT` (GETVISIT^BEHOENCX), `BEHOVM2 VUNITS` (VUNITS^BEHOVM2), `DDR GETS ENTRY DATA` (GETSC^DDR2), `ORQQVI VITALS` (FASTVIT^ORQQVI).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/measurements"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of newest_by_type",
            "schema": {}
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of newest_by_type",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Measurement.newest_by_type(dfn, start_date: ..., end_date: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Measurement.newest_by_type(dfn, start_date: ..., end_date: ...)",
          "rpcs": [
            {
              "name": "BEHOENCX GETVISIT",
              "registered": true,
              "entry_point": "GETVISIT^BEHOENCX",
              "reach": "client-callable",
              "via": "mapping :encounter_visit"
            },
            {
              "name": "BEHOVM2 VUNITS",
              "registered": true,
              "entry_point": "VUNITS^BEHOVM2",
              "reach": "client-callable",
              "via": "mapping :vital_units"
            },
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            },
            {
              "name": "ORQQVI VITALS",
              "registered": true,
              "entry_point": "FASTVIT^ORQQVI",
              "reach": "client-callable",
              "via": "mapping :vitals"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/medications": {
      "get": {
        "operationId": "Medication.for_patient",
        "summary": "RpmsRpc::Medication.for_patient(dfn)",
        "description": "Backed by `ORQQPS LIST` (LIST^ORQQPS).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/medications"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Medication.for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Medication.for_patient(dfn)",
          "rpcs": [
            {
              "name": "ORQQPS LIST",
              "registered": true,
              "entry_point": "LIST^ORQQPS",
              "reach": "client-callable",
              "via": "mapping :medication_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/note-templates/text": {
      "get": {
        "operationId": "NoteTemplate.text",
        "summary": "RpmsRpc::NoteTemplate.text(lines, dfn:, visit_string: ...)",
        "description": "Backed by `TIU TEMPLATE GETTEXT` (GETTEXT^TIUSRVT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/note-templates"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lines",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of text",
            "schema": {}
          },
          {
            "name": "visit_string",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of text",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::NoteTemplate.text(lines, dfn:, visit_string: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::NoteTemplate.text(lines, dfn:, visit_string: ...)",
          "rpcs": [
            {
              "name": "TIU TEMPLATE GETTEXT",
              "registered": true,
              "entry_point": "GETTEXT^TIUSRVT",
              "reach": "client-callable",
              "via": "mapping :template_text"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/orders": {
      "get": {
        "operationId": "Order.list",
        "summary": "RpmsRpc::Order.list(dfn, filter: ..., display_group: ...)",
        "description": "Backed by `ORWORR AGET` (AGET^ORWORR).\n\nLive specs: `test/live/order_live_test.rb:39`, `test/live/order_live_test.rb:46`, `test/live/order_live_test.rb:57`.\n\nProven by a live spec.",
        "tags": [
          "/orders"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of list",
            "schema": {}
          },
          {
            "name": "display_group",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of list",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Order.list(dfn, filter: ..., display_group: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Order.list(dfn, filter: ..., display_group: ...)",
          "rpcs": [
            {
              "name": "ORWORR AGET",
              "registered": true,
              "entry_point": "AGET^ORWORR",
              "reach": "client-callable",
              "via": "mapping :orders_list"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/order_live_test.rb:39",
            "test/live/order_live_test.rb:46",
            "test/live/order_live_test.rb:57"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "read"
        }
      }
    },
    "/patients/{dfn}/orders/sheets": {
      "get": {
        "operationId": "Order.sheets_for_patient",
        "summary": "RpmsRpc::Order.sheets_for_patient(dfn)",
        "description": "Backed by `ORWOR SHEETS` (SHEETS^ORWOR).\n\nLive specs: `test/live/order_live_test.rb:107`.\n\nProven by a live spec.",
        "tags": [
          "/orders"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Order.sheets_for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Order.sheets_for_patient(dfn)",
          "rpcs": [
            {
              "name": "ORWOR SHEETS",
              "registered": true,
              "entry_point": "SHEETS^ORWOR",
              "reach": "client-callable",
              "via": "mapping :order_sheets"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/order_live_test.rb:107"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/orders/unsigned": {
      "get": {
        "operationId": "Order.unsigned_for_patient",
        "summary": "RpmsRpc::Order.unsigned_for_patient(dfn)",
        "description": "Backed by `ORWOR UNSIGN` (UNSIGN^ORWOR).\n\nLive specs: `test/live/order_live_test.rb:68`, `test/live/order_live_test.rb:82`.\n\nProven by a live spec.",
        "tags": [
          "/orders"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Order.unsigned_for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Order.unsigned_for_patient(dfn)",
          "rpcs": [
            {
              "name": "ORWOR UNSIGN",
              "registered": true,
              "entry_point": "UNSIGN^ORWOR",
              "reach": "client-callable",
              "via": "mapping :orders_unsigned"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/order_live_test.rb:68",
            "test/live/order_live_test.rb:82"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/orders/{order_ien}/result": {
      "get": {
        "operationId": "Order.result",
        "summary": "RpmsRpc::Order.result(dfn, order_ien)",
        "description": "Backed by `ORWOR RESULT` (RESULT^ORWOR).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/orders"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Order.result(dfn, order_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Order.result(dfn, order_ien)",
          "rpcs": [
            {
              "name": "ORWOR RESULT",
              "registered": true,
              "entry_point": "RESULT^ORWOR",
              "reach": "client-callable",
              "via": "mapping :order_result"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/orders/{order_ien}/result-history": {
      "get": {
        "operationId": "Order.result_history",
        "summary": "RpmsRpc::Order.result_history(dfn, order_ien)",
        "description": "Backed by `ORWOR RESULT HISTORY` (RESHIST^ORWOR).\n\nLive specs: `test/live/order_live_test.rb:123`, `test/live/order_live_test.rb:132`.\n\nProven by a live spec.",
        "tags": [
          "/orders"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Order.result_history(dfn, order_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Order.result_history(dfn, order_ien)",
          "rpcs": [
            {
              "name": "ORWOR RESULT HISTORY",
              "registered": true,
              "entry_point": "RESHIST^ORWOR",
              "reach": "client-callable",
              "via": "mapping :order_result_history"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/order_live_test.rb:123",
            "test/live/order_live_test.rb:132"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/phr": {
      "get": {
        "operationId": "Phr.for_patient",
        "summary": "RpmsRpc::Phr.for_patient(dfn, start_date: ..., end_date: ...)",
        "description": "Backed by `BEHOCIR1 GETCCDS` (GETCCDS^BEHOCIR1).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/phr"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of for_patient",
            "schema": {}
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of for_patient",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Phr.for_patient(dfn, start_date: ..., end_date: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Phr.for_patient(dfn, start_date: ..., end_date: ...)",
          "rpcs": [
            {
              "name": "BEHOCIR1 GETCCDS",
              "registered": true,
              "entry_point": "GETCCDS^BEHOCIR1",
              "reach": "client-callable",
              "via": "mapping :ccd_document"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/phr/counts": {
      "get": {
        "operationId": "Phr.counts",
        "summary": "RpmsRpc::Phr.counts(dfn)",
        "description": "Backed by `BEHOCIR GETNUM` (GETNUM^BEHOCIR).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/phr"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Phr.counts(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Phr.counts(dfn)",
          "rpcs": [
            {
              "name": "BEHOCIR GETNUM",
              "registered": true,
              "entry_point": "GETNUM^BEHOCIR",
              "reach": "client-callable",
              "via": "mapping :immunization_count"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/phr/enrollment-status": {
      "get": {
        "operationId": "Phr.enrollment_status",
        "summary": "RpmsRpc::Phr.enrollment_status(dfn)",
        "description": "Backed by `BEHOCCD PHR` (PHR^BEHOCCD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/phr"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Phr.enrollment_status(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Phr.enrollment_status(dfn)",
          "rpcs": [
            {
              "name": "BEHOCCD PHR",
              "registered": true,
              "entry_point": "PHR^BEHOCCD",
              "reach": "client-callable",
              "via": "mapping :phr_access"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/phr/has-access": {
      "get": {
        "operationId": "Phr.has_access?",
        "summary": "RpmsRpc::Phr.has_access?(dfn)",
        "description": "Backed by `BEHOCCD PHR` (PHR^BEHOCCD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/phr"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Phr.has_access?(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Phr.has_access?(dfn)",
          "rpcs": [
            {
              "name": "BEHOCCD PHR",
              "registered": true,
              "entry_point": "PHR^BEHOCCD",
              "reach": "client-callable",
              "via": "mapping :phr_access"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "predicate"
        }
      }
    },
    "/patients/{dfn}/problems": {
      "get": {
        "operationId": "Problem.for_patient",
        "summary": "RpmsRpc::Problem.for_patient(dfn)",
        "description": "Backed by `ORQQPL LIST` (LIST^ORQQPL).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.for_patient(dfn)",
          "rpcs": [
            {
              "name": "ORQQPL LIST",
              "registered": true,
              "entry_point": "LIST^ORQQPL",
              "reach": "client-callable",
              "via": "mapping :problem_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      },
      "post": {
        "operationId": "Problem.add",
        "summary": "RpmsRpc::Problem.add(dfn, problem)",
        "description": "Backed by `BGOPROB SET` (SET^BGOPROB).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "problem": {
                    "description": "Ruby req argument of add"
                  }
                },
                "required": [
                  "problem"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.add(dfn, problem) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.add(dfn, problem)",
          "rpcs": [
            {
              "name": "BGOPROB SET",
              "registered": true,
              "entry_point": "SET^BGOPROB",
              "reach": "client-callable",
              "via": "mapping :problem_set"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/problems/init": {
      "post": {
        "operationId": "Problem.init_patient",
        "summary": "RpmsRpc::Problem.init_patient(dfn)",
        "description": "Backed by `ORQQPL INIT PT` (INITPT^ORQQPL1).\n\nLive specs: `test/live/missing_rpc_live_test.rb:83`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.init_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.init_patient(dfn)",
          "rpcs": [
            {
              "name": "ORQQPL INIT PT",
              "registered": true,
              "entry_point": "INITPT^ORQQPL1",
              "reach": "client-callable",
              "via": "mapping :problem_init_patient"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:83"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "action"
        }
      }
    },
    "/patients/{dfn}/problems/provider-list": {
      "get": {
        "operationId": "Problem.provider_list",
        "summary": "RpmsRpc::Problem.provider_list(dfn)",
        "description": "Backed by `ORQQPL PROVIDER LIST` (PROVSRCH^ORQQPL1).\n\nLive specs: `test/live/missing_rpc_live_test.rb:84`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.provider_list(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.provider_list(dfn)",
          "rpcs": [
            {
              "name": "ORQQPL PROVIDER LIST",
              "registered": true,
              "entry_point": "PROVSRCH^ORQQPL1",
              "reach": "client-callable",
              "via": "mapping :problem_provider_list"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:84"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/problems/{ien}": {
      "get": {
        "operationId": "Problem.details",
        "summary": "RpmsRpc::Problem.details(dfn, ien)",
        "description": "Backed by `ORQQPL DETAIL` (DETAIL^ORQQPL).\n\nLive specs: `test/live/missing_rpc_live_test.rb:80`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.details(dfn, ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.details(dfn, ien)",
          "rpcs": [
            {
              "name": "ORQQPL DETAIL",
              "registered": true,
              "entry_point": "DETAIL^ORQQPL",
              "reach": "client-callable",
              "via": "mapping :problem_detail"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:80"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "read"
        }
      },
      "put": {
        "operationId": "Problem.update",
        "summary": "RpmsRpc::Problem.update(dfn, ien, changes)",
        "description": "Backed by `BGOPROB SET` (SET^BGOPROB).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "changes": {
                    "description": "Ruby req argument of update"
                  }
                },
                "required": [
                  "changes"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.update(dfn, ien, changes) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.update(dfn, ien, changes)",
          "rpcs": [
            {
              "name": "BGOPROB SET",
              "registered": true,
              "entry_point": "SET^BGOPROB",
              "reach": "client-callable",
              "via": "mapping :problem_set"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "write"
        }
      },
      "delete": {
        "operationId": "Problem.delete",
        "summary": "RpmsRpc::Problem.delete(dfn, ien, reason:)",
        "description": "Backed by `BGOPROB DEL` (DEL^BGOPROB).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reason",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of delete",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.delete(dfn, ien, reason:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.delete(dfn, ien, reason:)",
          "rpcs": [
            {
              "name": "BGOPROB DEL",
              "registered": true,
              "entry_point": "DEL^BGOPROB",
              "reach": "client-callable",
              "via": "mapping :problem_remove"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "delete"
        }
      }
    },
    "/patients/{dfn}/procedures": {
      "get": {
        "operationId": "Procedure.for_patient",
        "summary": "RpmsRpc::Procedure.for_patient(dfn)",
        "description": "Backed by `BGOVCPT GET` (GET^BGOVCPT).\n\nLive specs: `test/live/procedure_live_test.rb:22`, `test/live/procedure_live_test.rb:32`.\n\nProven by a live spec.",
        "tags": [
          "/procedures"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Procedure.for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Procedure.for_patient(dfn)",
          "rpcs": [
            {
              "name": "BGOVCPT GET",
              "registered": true,
              "entry_point": "GET^BGOVCPT",
              "reach": "client-callable",
              "via": "mapping :procedure_list"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/procedure_live_test.rb:22",
            "test/live/procedure_live_test.rb:32"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "for"
        }
      },
      "post": {
        "operationId": "Procedure.add",
        "summary": "RpmsRpc::Procedure.add(dfn, visit_ien, cpt_code, modifiers: ..., narrative: ..., quantity: ...)",
        "description": "Backed by `BGOVCPT SET` (SET^BGOVCPT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/procedures"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "visit_ien": {
                    "description": "Ruby req argument of add"
                  },
                  "cpt_code": {
                    "description": "Ruby req argument of add"
                  },
                  "modifiers": {
                    "description": "Ruby key argument of add"
                  },
                  "narrative": {
                    "description": "Ruby key argument of add"
                  },
                  "quantity": {
                    "description": "Ruby key argument of add"
                  }
                },
                "required": [
                  "visit_ien",
                  "cpt_code"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Procedure.add(dfn, visit_ien, cpt_code, modifiers: ..., narrative: ..., quantity: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Procedure.add(dfn, visit_ien, cpt_code, modifiers: ..., narrative: ..., quantity: ...)",
          "rpcs": [
            {
              "name": "BGOVCPT SET",
              "registered": true,
              "entry_point": "SET^BGOVCPT",
              "reach": "client-callable",
              "via": "mapping :procedure_save"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/progress-notes": {
      "get": {
        "operationId": "ProgressNote.list",
        "summary": "RpmsRpc::ProgressNote.list(dfn, context: ..., early: ..., late: ..., person: ...)",
        "description": "Backed by `TIU DOCUMENTS BY CONTEXT` (CONTEXT^TIUSRVLO).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/progress-notes"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "context",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of list",
            "schema": {}
          },
          {
            "name": "early",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of list",
            "schema": {}
          },
          {
            "name": "late",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of list",
            "schema": {}
          },
          {
            "name": "person",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of list",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::ProgressNote.list(dfn, context: ..., early: ..., late: ..., person: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ProgressNote.list(dfn, context: ..., early: ..., late: ..., person: ...)",
          "rpcs": [
            {
              "name": "TIU DOCUMENTS BY CONTEXT",
              "registered": true,
              "entry_point": "CONTEXT^TIUSRVLO",
              "reach": "client-callable",
              "via": "mapping :tiu_documents_by_context"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "read"
        }
      },
      "post": {
        "operationId": "ProgressNote.create",
        "summary": "RpmsRpc::ProgressNote.create(dfn, visit_ien, title_ien)",
        "description": "Backed by `TIU CREATE RECORD` (MAKE^TIUSRVP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/progress-notes"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "visit_ien": {
                    "description": "Ruby req argument of create"
                  },
                  "title_ien": {
                    "description": "Ruby req argument of create"
                  }
                },
                "required": [
                  "visit_ien",
                  "title_ien"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::ProgressNote.create(dfn, visit_ien, title_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ProgressNote.create(dfn, visit_ien, title_ien)",
          "rpcs": [
            {
              "name": "TIU CREATE RECORD",
              "registered": true,
              "entry_point": "MAKE^TIUSRVP",
              "reach": "client-callable",
              "via": "mapping :tiu_create_record"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/purposes-of-visit": {
      "post": {
        "operationId": "Pov.add",
        "summary": "RpmsRpc::Pov.add(dfn, visit_ien, diagnosis_code, narrative:, modifiers: ...)",
        "description": "Backed by `BGOVPOV SET` (SET^BGOVPOV).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/purposes-of-visit"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "visit_ien": {
                    "description": "Ruby req argument of add"
                  },
                  "diagnosis_code": {
                    "description": "Ruby req argument of add"
                  },
                  "narrative": {
                    "description": "Ruby keyreq argument of add"
                  },
                  "modifiers": {
                    "description": "Ruby key argument of add"
                  }
                },
                "required": [
                  "visit_ien",
                  "diagnosis_code",
                  "narrative"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Pov.add(dfn, visit_ien, diagnosis_code, narrative:, modifiers: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Pov.add(dfn, visit_ien, diagnosis_code, narrative:, modifiers: ...)",
          "rpcs": [
            {
              "name": "BGOVPOV SET",
              "registered": true,
              "entry_point": "SET^BGOVPOV",
              "reach": "client-callable",
              "via": "mapping :pov_set"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/referrals": {
      "get": {
        "operationId": "Referral.for_patient",
        "summary": "RpmsRpc::Referral.for_patient(dfn)",
        "description": "Backed by `BMC SEARCH REFERRAL` (SRCHREF^BMCRPC1).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.for_patient(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.for_patient(dfn)",
          "rpcs": [
            {
              "name": "BMC SEARCH REFERRAL",
              "registered": true,
              "entry_point": "SRCHREF^BMCRPC1",
              "reach": "client-callable",
              "via": "mapping :referral_search"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      }
    },
    "/patients/{dfn}/referrals/eligibility-status": {
      "get": {
        "operationId": "Referral.patient_eligibility_status",
        "summary": "RpmsRpc::Referral.patient_eligibility_status(dfn, *params)",
        "description": "Backed by `BMC PATIENT ELIGIBILITY STATUS` (GTPTELST^BMCRPC4).\n\nLive specs: `test/live/missing_rpc_live_test.rb:95`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of patient_eligibility_status",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.patient_eligibility_status(dfn, *params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.patient_eligibility_status(dfn, *params)",
          "rpcs": [
            {
              "name": "BMC PATIENT ELIGIBILITY STATUS",
              "registered": true,
              "entry_point": "GTPTELST^BMCRPC4",
              "reach": "client-callable",
              "via": "mapping :bmc_patient_eligibility_status"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:95"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/referrals/face-sheet": {
      "get": {
        "operationId": "Referral.patient_face_sheet",
        "summary": "RpmsRpc::Referral.patient_face_sheet(dfn, *params)",
        "description": "Backed by `BMC PATIENT FACE SHEET` (EN^AGGRFCE).\n\nLive specs: `test/live/missing_rpc_live_test.rb:96`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of patient_face_sheet",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.patient_face_sheet(dfn, *params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.patient_face_sheet(dfn, *params)",
          "rpcs": [
            {
              "name": "BMC PATIENT FACE SHEET",
              "registered": true,
              "entry_point": "EN^AGGRFCE",
              "reach": "client-callable",
              "via": "mapping :bmc_patient_face_sheet"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:96"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/referrals/health-summary": {
      "get": {
        "operationId": "Referral.patient_health_summary",
        "summary": "RpmsRpc::Referral.patient_health_summary(dfn, *params)",
        "description": "Backed by `BMC PATIENT HEALTH SUMMARY` (EN^BQIRHS).\n\nLive specs: `test/live/missing_rpc_live_test.rb:97`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of patient_health_summary",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.patient_health_summary(dfn, *params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.patient_health_summary(dfn, *params)",
          "rpcs": [
            {
              "name": "BMC PATIENT HEALTH SUMMARY",
              "registered": true,
              "entry_point": "EN^BQIRHS",
              "reach": "client-callable",
              "via": "mapping :bmc_patient_health_summary"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:97"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/registrations": {
      "put": {
        "operationId": "Registration.update",
        "summary": "RpmsRpc::Registration.update(dfn, patient_fields: ..., ihs_fields: ...)",
        "description": "Backed by `DDR FILER` (FILEC^DDR3), `DDR LOCK/UNLOCK NODE` (LOCKC^DDR1).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/registrations"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "patient_fields": {
                    "description": "Ruby key argument of update"
                  },
                  "ihs_fields": {
                    "description": "Ruby key argument of update"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Registration.update(dfn, patient_fields: ..., ihs_fields: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Registration.update(dfn, patient_fields: ..., ihs_fields: ...)",
          "rpcs": [
            {
              "name": "DDR FILER",
              "registered": true,
              "entry_point": "FILEC^DDR3",
              "reach": "client-callable",
              "via": "mapping :ddr_filer"
            },
            {
              "name": "DDR LOCK/UNLOCK NODE",
              "registered": true,
              "entry_point": "LOCKC^DDR1",
              "reach": "client-callable",
              "via": "mapping :ddr_lock_unlock_node"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "write"
        }
      }
    },
    "/patients/{dfn}/reminders/applicable": {
      "get": {
        "operationId": "Reminders.applicable",
        "summary": "RpmsRpc::Reminders.applicable(dfn, location_ien = ...)",
        "description": "Backed by `ORQQPXRM REMINDERS APPLICABLE` (APPL^ORQQPXRM).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/reminders"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location_ien",
            "in": "query",
            "required": false,
            "description": "Ruby opt argument of applicable",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Reminders.applicable(dfn, location_ien = ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Reminders.applicable(dfn, location_ien = ...)",
          "rpcs": [
            {
              "name": "ORQQPXRM REMINDERS APPLICABLE",
              "registered": true,
              "entry_point": "APPL^ORQQPXRM",
              "reach": "client-callable",
              "via": "mapping :reminders_applicable"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/tribes/eligibility": {
      "get": {
        "operationId": "Tribal.eligibility",
        "summary": "RpmsRpc::Tribal.eligibility(dfn)",
        "description": "Backed by `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/tribes"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Tribal.eligibility(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Tribal.eligibility(dfn)",
          "rpcs": [
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/tribes/enrollment": {
      "get": {
        "operationId": "Tribal.enrollment",
        "summary": "RpmsRpc::Tribal.enrollment(dfn)",
        "description": "Backed by `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/tribes"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Tribal.enrollment(dfn) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Tribal.enrollment(dfn)",
          "rpcs": [
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/vitals": {
      "get": {
        "operationId": "Vital.for_patient",
        "summary": "RpmsRpc::Vital.for_patient(dfn, start_date: ..., end_date: ...)",
        "description": "Backed by `ORQQVI VITALS` (FASTVIT^ORQQVI).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/vitals"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of for_patient",
            "schema": {}
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of for_patient",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Vital.for_patient(dfn, start_date: ..., end_date: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Vital.for_patient(dfn, start_date: ..., end_date: ...)",
          "rpcs": [
            {
              "name": "ORQQVI VITALS",
              "registered": true,
              "entry_point": "FASTVIT^ORQQVI",
              "reach": "client-callable",
              "via": "mapping :vitals"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      },
      "post": {
        "operationId": "Vital.add",
        "summary": "RpmsRpc::Vital.add(dfn, visit_string, measurements, provider_duz:)",
        "description": "Backed by `BEHOVM SAVE` (SAVE^BEHOVM).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/vitals"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "visit_string": {
                    "description": "Ruby req argument of add"
                  },
                  "measurements": {
                    "description": "Ruby req argument of add"
                  },
                  "provider_duz": {
                    "description": "Ruby keyreq argument of add"
                  }
                },
                "required": [
                  "visit_string",
                  "measurements",
                  "provider_duz"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Vital.add(dfn, visit_string, measurements, provider_duz:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Vital.add(dfn, visit_string, measurements, provider_duz:)",
          "rpcs": [
            {
              "name": "BEHOVM SAVE",
              "registered": true,
              "entry_point": "SAVE^BEHOVM",
              "reach": "client-callable",
              "via": "mapping :vital_save"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/patients/{dfn}/vitals/template": {
      "get": {
        "operationId": "Vital.template",
        "summary": "RpmsRpc::Vital.template(dfn, visit_string, metric: ...)",
        "description": "Backed by `BEHOVM TEMPLATE` (TEMPLATE^BEHOVM).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/vitals"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "visit_string",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of template",
            "schema": {}
          },
          {
            "name": "metric",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of template",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Vital.template(dfn, visit_string, metric: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Vital.template(dfn, visit_string, metric: ...)",
          "rpcs": [
            {
              "name": "BEHOVM TEMPLATE",
              "registered": true,
              "entry_point": "TEMPLATE^BEHOVM",
              "reach": "client-callable",
              "via": "mapping :vital_template"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/patients/{dfn}/vitals/validate": {
      "post": {
        "operationId": "Vital.validate",
        "summary": "RpmsRpc::Vital.validate(dfn, measurements)",
        "description": "Backed by `BEHOVM VALIDATE` (VALIDATE^BEHOVM).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/vitals"
        ],
        "parameters": [
          {
            "name": "dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "measurements": {
                    "description": "Ruby req argument of validate"
                  }
                },
                "required": [
                  "measurements"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Vital.validate(dfn, measurements) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Vital.validate(dfn, measurements)",
          "rpcs": [
            {
              "name": "BEHOVM VALIDATE",
              "registered": true,
              "entry_point": "VALIDATE^BEHOVM",
              "reach": "client-callable",
              "via": "mapping :vital_validate"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/patients/{patient_dfn}/appointments": {
      "post": {
        "operationId": "Scheduling.add_appointment",
        "summary": "RpmsRpc::Scheduling.add_appointment(patient_dfn:, resource:, start_time:, end_time:, length_minutes:, note: ..., access_type: ..., chart_request: ...)",
        "description": "Backed by `BSDX ADD NEW APPOINTMENT` (APPADD^BSDX07).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/appointments"
        ],
        "parameters": [
          {
            "name": "patient_dfn",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "resource": {
                    "description": "Ruby keyreq argument of add_appointment"
                  },
                  "start_time": {
                    "description": "Ruby keyreq argument of add_appointment"
                  },
                  "end_time": {
                    "description": "Ruby keyreq argument of add_appointment"
                  },
                  "length_minutes": {
                    "description": "Ruby keyreq argument of add_appointment"
                  },
                  "note": {
                    "description": "Ruby key argument of add_appointment"
                  },
                  "access_type": {
                    "description": "Ruby key argument of add_appointment"
                  },
                  "chart_request": {
                    "description": "Ruby key argument of add_appointment"
                  }
                },
                "required": [
                  "resource",
                  "start_time",
                  "end_time",
                  "length_minutes"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Scheduling.add_appointment(patient_dfn:, resource:, start_time:, end_time:, length_minutes:, note: ..., access_type: ..., chart_request: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Scheduling.add_appointment(patient_dfn:, resource:, start_time:, end_time:, length_minutes:, note: ..., access_type: ..., chart_request: ...)",
          "rpcs": [
            {
              "name": "BSDX ADD NEW APPOINTMENT",
              "registered": true,
              "entry_point": "APPADD^BSDX07",
              "reach": "client-callable",
              "via": "mapping :scheduling_add_appointment"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/phr/referrals": {
      "get": {
        "operationId": "Phr.referrals_for_visits",
        "summary": "RpmsRpc::Phr.referrals_for_visits(visit_iens)",
        "description": "Backed by `BEHOCCD GETREF` (GETREF^BEHOCCD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/phr"
        ],
        "parameters": [
          {
            "name": "visit_iens",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of referrals_for_visits",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Phr.referrals_for_visits(visit_iens) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Phr.referrals_for_visits(visit_iens)",
          "rpcs": [
            {
              "name": "BEHOCCD GETREF",
              "registered": true,
              "entry_point": "GETREF^BEHOCCD",
              "reach": "client-callable",
              "via": "mapping :ccd_referral"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      }
    },
    "/phr/{ien}": {
      "get": {
        "operationId": "Phr.find",
        "summary": "RpmsRpc::Phr.find(ien)",
        "description": "Backed by `BEHOCIR GETTXT` (GETTXT^BEHOCIR).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/phr"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Phr.find(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Phr.find(ien)",
          "rpcs": [
            {
              "name": "BEHOCIR GETTXT",
              "registered": true,
              "entry_point": "GETTXT^BEHOCIR",
              "reach": "client-callable",
              "via": "mapping :immunization_text"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "read"
        }
      }
    },
    "/practitioners": {
      "get": {
        "operationId": "Practitioner.search",
        "summary": "RpmsRpc::Practitioner.search(name_pattern)",
        "description": "Backed by `ORWU NEWPERS` (NEWPERS^ORWU).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/practitioners"
        ],
        "parameters": [
          {
            "name": "name_pattern",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of search",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Practitioner.search(name_pattern) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Practitioner.search(name_pattern)",
          "rpcs": [
            {
              "name": "ORWU NEWPERS",
              "registered": true,
              "entry_point": "NEWPERS^ORWU",
              "reach": "client-callable",
              "via": "mapping :practitioner_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "query"
        }
      }
    },
    "/practitioners/{ien}": {
      "get": {
        "operationId": "Practitioner.find",
        "summary": "RpmsRpc::Practitioner.find(ien)",
        "description": "Backed by `ORWU USERINFO` (USERINFO^ORWU).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/practitioners"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Practitioner.find(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Practitioner.find(ien)",
          "rpcs": [
            {
              "name": "ORWU USERINFO",
              "registered": true,
              "entry_point": "USERINFO^ORWU",
              "reach": "client-callable",
              "via": "mapping :practitioner_info"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "read"
        }
      }
    },
    "/problems/clinics/{clinic_ien}/search": {
      "get": {
        "operationId": "Problem.clinic_search",
        "summary": "RpmsRpc::Problem.clinic_search(clinic_ien)",
        "description": "Backed by `ORQQPL CLIN SRCH` (CLINSRCH^ORQQPL1).\n\nLive specs: `test/live/missing_rpc_live_test.rb:79`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "clinic_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.clinic_search(clinic_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.clinic_search(clinic_ien)",
          "rpcs": [
            {
              "name": "ORQQPL CLIN SRCH",
              "registered": true,
              "entry_point": "CLINSRCH^ORQQPL1",
              "reach": "client-callable",
              "via": "mapping :problem_clinic_search"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:79"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/problems/lex-search": {
      "get": {
        "operationId": "Problem.lex_search",
        "summary": "RpmsRpc::Problem.lex_search(text)",
        "description": "Backed by `ORQQPL PROBLEM LEX SEARCH` (LEXSRCH^ORQQPL1).\n\nLive specs: `test/live/missing_rpc_live_test.rb:78`, `test/live/missing_rpc_live_test.rb:150`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of lex_search",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.lex_search(text) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.lex_search(text)",
          "rpcs": [
            {
              "name": "ORQQPL PROBLEM LEX SEARCH",
              "registered": true,
              "entry_point": "LEXSRCH^ORQQPL1",
              "reach": "client-callable",
              "via": "mapping :problem_lex_search"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:78",
            "test/live/missing_rpc_live_test.rb:150"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/problems/{ien}/audit-history": {
      "get": {
        "operationId": "Problem.audit_history",
        "summary": "RpmsRpc::Problem.audit_history(ien)",
        "description": "Backed by `ORQQPL AUDIT HIST` (HIST^ORQQPL2).\n\nLive specs: `test/live/missing_rpc_live_test.rb:81`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.audit_history(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.audit_history(ien)",
          "rpcs": [
            {
              "name": "ORQQPL AUDIT HIST",
              "registered": true,
              "entry_point": "HIST^ORQQPL2",
              "reach": "client-callable",
              "via": "mapping :problem_audit_history"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:81"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/problems/{ien}/comments": {
      "get": {
        "operationId": "Problem.comments",
        "summary": "RpmsRpc::Problem.comments(ien)",
        "description": "Backed by `ORQQPL PROB COMMENTS` (GETCOMM^ORQQPL2).\n\nLive specs: `test/live/missing_rpc_live_test.rb:82`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.comments(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.comments(ien)",
          "rpcs": [
            {
              "name": "ORQQPL PROB COMMENTS",
              "registered": true,
              "entry_point": "GETCOMM^ORQQPL2",
              "reach": "client-callable",
              "via": "mapping :problem_comments"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:82"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/problems/{ien}/inactivate": {
      "post": {
        "operationId": "Problem.inactivate",
        "summary": "RpmsRpc::Problem.inactivate(ien)",
        "description": "Backed by `ORQQPL INACTIVATE` (INACT^ORQQPL2).\n\nLive specs: `test/live/missing_rpc_live_test.rb:86`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.inactivate(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.inactivate(ien)",
          "rpcs": [
            {
              "name": "ORQQPL INACTIVATE",
              "registered": true,
              "entry_point": "INACT^ORQQPL2",
              "reach": "client-callable",
              "via": "mapping :problem_inactivate"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:86"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "action"
        }
      }
    },
    "/problems/{ien}/institutions/{institution_ien}/edit-load": {
      "get": {
        "operationId": "Problem.edit_load",
        "summary": "RpmsRpc::Problem.edit_load(ien, provider_duz:, institution_ien:)",
        "description": "Backed by `ORQQPL EDIT LOAD` (EDLOAD^ORQQPL1).\n\nLive specs: `test/live/missing_rpc_live_test.rb:85`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "institution_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "provider_duz",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of edit_load",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.edit_load(ien, provider_duz:, institution_ien:) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.edit_load(ien, provider_duz:, institution_ien:)",
          "rpcs": [
            {
              "name": "ORQQPL EDIT LOAD",
              "registered": true,
              "entry_point": "EDLOAD^ORQQPL1",
              "reach": "client-callable",
              "via": "mapping :problem_edit_load"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:85"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/problems/{ien}/verify": {
      "post": {
        "operationId": "Problem.verify",
        "summary": "RpmsRpc::Problem.verify(ien)",
        "description": "Backed by `ORQQPL VERIFY` (VERIFY^ORQQPL2).\n\nLive specs: `test/live/missing_rpc_live_test.rb:87`.\n\nProven by a live spec.",
        "tags": [
          "/problems"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Problem.verify(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Problem.verify(ien)",
          "rpcs": [
            {
              "name": "ORQQPL VERIFY",
              "registered": true,
              "entry_point": "VERIFY^ORQQPL2",
              "reach": "client-callable",
              "via": "mapping :problem_verify"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:87"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "action"
        }
      }
    },
    "/progress-notes/{note_ien}/authorize": {
      "get": {
        "operationId": "ProgressNote.authorize",
        "summary": "RpmsRpc::ProgressNote.authorize(note_ien, action: ...)",
        "description": "Backed by `TIU AUTHORIZATION` (CANDO^TIUSRVA).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/progress-notes"
        ],
        "parameters": [
          {
            "name": "note_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of authorize",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::ProgressNote.authorize(note_ien, action: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ProgressNote.authorize(note_ien, action: ...)",
          "rpcs": [
            {
              "name": "TIU AUTHORIZATION",
              "registered": true,
              "entry_point": "CANDO^TIUSRVA",
              "reach": "client-callable",
              "via": "mapping :tiu_authorization"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "inquiry"
        }
      }
    },
    "/progress-notes/{note_ien}/lock": {
      "post": {
        "operationId": "ProgressNote.lock",
        "summary": "RpmsRpc::ProgressNote.lock(note_ien)",
        "description": "Backed by `TIU LOCK RECORD` (LOCK^TIUSRVP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/progress-notes"
        ],
        "parameters": [
          {
            "name": "note_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::ProgressNote.lock(note_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ProgressNote.lock(note_ien)",
          "rpcs": [
            {
              "name": "TIU LOCK RECORD",
              "registered": true,
              "entry_point": "LOCK^TIUSRVP",
              "reach": "client-callable",
              "via": "mapping :tiu_lock_record"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/progress-notes/{note_ien}/signatures": {
      "post": {
        "operationId": "ESignature.add",
        "summary": "RpmsRpc::ESignature.add(note_ien, user_duz, signature_code, action: ...)",
        "description": "Backed by `TIU SIGN RECORD` (SIGN^TIUSRVP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/signatures"
        ],
        "parameters": [
          {
            "name": "note_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "user_duz": {
                    "description": "Ruby req argument of add"
                  },
                  "signature_code": {
                    "description": "Ruby req argument of add"
                  },
                  "action": {
                    "description": "Ruby key argument of add"
                  }
                },
                "required": [
                  "user_duz",
                  "signature_code"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::ESignature.add(note_ien, user_duz, signature_code, action: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ESignature.add(note_ien, user_duz, signature_code, action: ...)",
          "rpcs": [
            {
              "name": "TIU SIGN RECORD",
              "registered": true,
              "entry_point": "SIGN^TIUSRVP",
              "reach": "client-callable",
              "via": "mapping :tiu_sign_record"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      },
      "delete": {
        "operationId": "ESignature.remove",
        "summary": "RpmsRpc::ESignature.remove(note_ien, user_duz, reason:, override: ...)",
        "description": "Backed by `TIU DELETE RECORD` (DELETE^TIUSRVP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/signatures"
        ],
        "parameters": [
          {
            "name": "note_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_duz",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of remove",
            "schema": {}
          },
          {
            "name": "reason",
            "in": "query",
            "required": true,
            "description": "Ruby keyreq argument of remove",
            "schema": {}
          },
          {
            "name": "override",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of remove",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::ESignature.remove(note_ien, user_duz, reason:, override: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ESignature.remove(note_ien, user_duz, reason:, override: ...)",
          "rpcs": [
            {
              "name": "TIU DELETE RECORD",
              "registered": true,
              "entry_point": "DELETE^TIUSRVP",
              "reach": "client-callable",
              "via": "mapping :tiu_delete_record"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "delete"
        }
      }
    },
    "/progress-notes/{note_ien}/signatures/which-action": {
      "get": {
        "operationId": "ESignature.which_action",
        "summary": "RpmsRpc::ESignature.which_action(note_ien, user_duz)",
        "description": "Backed by `TIU WHICH SIGNATURE ACTION` (WHATACT^TIUSRVA).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/signatures"
        ],
        "parameters": [
          {
            "name": "note_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_duz",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of which_action",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::ESignature.which_action(note_ien, user_duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ESignature.which_action(note_ien, user_duz)",
          "rpcs": [
            {
              "name": "TIU WHICH SIGNATURE ACTION",
              "registered": true,
              "entry_point": "WHATACT^TIUSRVA",
              "reach": "client-callable",
              "via": "mapping :tiu_which_signature_action"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "inquiry"
        }
      }
    },
    "/progress-notes/{note_ien}/text": {
      "get": {
        "operationId": "ProgressNote.fetch_text",
        "summary": "RpmsRpc::ProgressNote.fetch_text(note_ien)",
        "description": "Backed by `TIU GET RECORD TEXT` (TGET^TIUSRVR1).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/progress-notes"
        ],
        "parameters": [
          {
            "name": "note_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::ProgressNote.fetch_text(note_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ProgressNote.fetch_text(note_ien)",
          "rpcs": [
            {
              "name": "TIU GET RECORD TEXT",
              "registered": true,
              "entry_point": "TGET^TIUSRVR1",
              "reach": "client-callable",
              "via": "mapping :tiu_get_record_text"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "read"
        }
      },
      "put": {
        "operationId": "ProgressNote.update_text",
        "summary": "RpmsRpc::ProgressNote.update_text(note_ien, text)",
        "description": "Backed by `TIU SET DOCUMENT TEXT` (SETTEXT^TIUSRVPT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/progress-notes"
        ],
        "parameters": [
          {
            "name": "note_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "description": "Ruby req argument of update_text"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::ProgressNote.update_text(note_ien, text) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ProgressNote.update_text(note_ien, text)",
          "rpcs": [
            {
              "name": "TIU SET DOCUMENT TEXT",
              "registered": true,
              "entry_point": "SETTEXT^TIUSRVPT",
              "reach": "client-callable",
              "via": "mapping :tiu_set_document_text"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "write"
        }
      }
    },
    "/progress-notes/{note_ien}/unlock": {
      "post": {
        "operationId": "ProgressNote.unlock",
        "summary": "RpmsRpc::ProgressNote.unlock(note_ien)",
        "description": "Backed by `TIU UNLOCK RECORD` (UNLOCK^TIUSRVP).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/progress-notes"
        ],
        "parameters": [
          {
            "name": "note_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::ProgressNote.unlock(note_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ProgressNote.unlock(note_ien)",
          "rpcs": [
            {
              "name": "TIU UNLOCK RECORD",
              "registered": true,
              "entry_point": "UNLOCK^TIUSRVP",
              "reach": "client-callable",
              "via": "mapping :tiu_unlock_record"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/referrals": {
      "post": {
        "operationId": "Referral.add",
        "summary": "RpmsRpc::Referral.add(*params)",
        "description": "Backed by `BMC ADD REFERRAL` (SETREFRL^BMCRPC2).\n\nLive specs: `test/live/missing_rpc_live_test.rb:99`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "params": {
                    "description": "Ruby rest argument of add"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.add(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.add(*params)",
          "rpcs": [
            {
              "name": "BMC ADD REFERRAL",
              "registered": true,
              "entry_point": "SETREFRL^BMCRPC2",
              "reach": "client-callable",
              "via": "mapping :bmc_add_referral"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:99"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "create"
        }
      }
    },
    "/referrals/c32-print-log": {
      "post": {
        "operationId": "Referral.add_c32_print_log",
        "summary": "RpmsRpc::Referral.add_c32_print_log(*params)",
        "description": "Backed by `BMC ADD C32 PRINT LOG` (ADDC32LG^BMCRPC3).\n\nLive specs: `test/live/missing_rpc_live_test.rb:105`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "params": {
                    "description": "Ruby rest argument of add_c32_print_log"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.add_c32_print_log(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.add_c32_print_log(*params)",
          "rpcs": [
            {
              "name": "BMC ADD C32 PRINT LOG",
              "registered": true,
              "entry_point": "ADDC32LG^BMCRPC3",
              "reach": "client-callable",
              "via": "mapping :bmc_add_c32_print_log"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:105"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "create"
        }
      }
    },
    "/referrals/check-year-site-param": {
      "get": {
        "operationId": "Referral.check_year_site_param",
        "summary": "RpmsRpc::Referral.check_year_site_param(*params)",
        "description": "Backed by `BMC CHK YEAR SITE PARAM` (CHKYEAR^BMCRPC2).\n\nLive specs: `test/live/missing_rpc_live_test.rb:104`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of check_year_site_param",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.check_year_site_param(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.check_year_site_param(*params)",
          "rpcs": [
            {
              "name": "BMC CHK YEAR SITE PARAM",
              "registered": true,
              "entry_point": "CHKYEAR^BMCRPC2",
              "reach": "client-callable",
              "via": "mapping :bmc_check_year_site_param"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:104"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "inquiry"
        }
      }
    },
    "/referrals/consultations/{consultation_ien}/status": {
      "put": {
        "operationId": "Referral.update_consultation_status",
        "summary": "RpmsRpc::Referral.update_consultation_status(consultation_ien, status, *params)",
        "description": "Backed by `BMC CONSULTATION STATUS UPDATE` (UPCNRINF^BMCRPC3).\n\nLive specs: `test/live/missing_rpc_live_test.rb:103`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "consultation_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "description": "Ruby req argument of update_consultation_status"
                  },
                  "params": {
                    "description": "Ruby rest argument of update_consultation_status"
                  }
                },
                "required": [
                  "status"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.update_consultation_status(consultation_ien, status, *params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.update_consultation_status(consultation_ien, status, *params)",
          "rpcs": [
            {
              "name": "BMC CONSULTATION STATUS UPDATE",
              "registered": true,
              "entry_point": "UPCNRINF^BMCRPC3",
              "reach": "client-callable",
              "via": "mapping :bmc_consultation_status_update"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:103"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "write"
        }
      }
    },
    "/referrals/health-summary-types": {
      "get": {
        "operationId": "Referral.health_summary_types",
        "summary": "RpmsRpc::Referral.health_summary_types(*params)",
        "description": "Backed by `BMC HEALTH SUMMARY TYPE` (HSLIST^BQIRHSR).\n\nLive specs: `test/live/missing_rpc_live_test.rb:98`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of health_summary_types",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.health_summary_types(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.health_summary_types(*params)",
          "rpcs": [
            {
              "name": "BMC HEALTH SUMMARY TYPE",
              "registered": true,
              "entry_point": "HSLIST^BQIRHSR",
              "reach": "client-callable",
              "via": "mapping :bmc_health_summary_type"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:98"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/referrals/providers": {
      "get": {
        "operationId": "Referral.providers",
        "summary": "RpmsRpc::Referral.providers(*params)",
        "description": "Backed by `BMC PROVIDERS` (PROV^ORQPTQ2).\n\nLive specs: `test/live/missing_rpc_live_test.rb:91`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of providers",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.providers(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.providers(*params)",
          "rpcs": [
            {
              "name": "BMC PROVIDERS",
              "registered": true,
              "entry_point": "PROV^ORQPTQ2",
              "reach": "client-callable",
              "via": "mapping :bmc_providers"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:91"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/referrals/purposes": {
      "get": {
        "operationId": "Referral.purposes",
        "summary": "RpmsRpc::Referral.purposes(*params)",
        "description": "Backed by `BMC GET PURPOSE OF REF API` (GTREFTYP^BMCRPC3).\n\nLive specs: `test/live/missing_rpc_live_test.rb:88`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of purposes",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.purposes(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.purposes(*params)",
          "rpcs": [
            {
              "name": "BMC GET PURPOSE OF REF API",
              "registered": true,
              "entry_point": "GTREFTYP^BMCRPC3",
              "reach": "client-callable",
              "via": "mapping :bmc_purpose_of_referral_list"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:88"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/referrals/rcis-templates": {
      "get": {
        "operationId": "Referral.rcis_templates",
        "summary": "RpmsRpc::Referral.rcis_templates(*params)",
        "description": "Backed by `BMC GET RCIS TEMPLATE LIST` (GTTMPLST^BMCRPC3).\n\nLive specs: `test/live/missing_rpc_live_test.rb:93`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of rcis_templates",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.rcis_templates(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.rcis_templates(*params)",
          "rpcs": [
            {
              "name": "BMC GET RCIS TEMPLATE LIST",
              "registered": true,
              "entry_point": "GTTMPLST^BMCRPC3",
              "reach": "client-callable",
              "via": "mapping :bmc_rcis_template_list"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:93"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/referrals/rcis-templates/{template_ien}": {
      "get": {
        "operationId": "Referral.rcis_template_detail",
        "summary": "RpmsRpc::Referral.rcis_template_detail(template_ien, *params)",
        "description": "Backed by `BMC GET RCIS TEMPLATE DETAIL` (GETTMPLT^BMCRPC3).\n\nLive specs: `test/live/missing_rpc_live_test.rb:94`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "template_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of rcis_template_detail",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.rcis_template_detail(template_ien, *params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.rcis_template_detail(template_ien, *params)",
          "rpcs": [
            {
              "name": "BMC GET RCIS TEMPLATE DETAIL",
              "registered": true,
              "entry_point": "GETTMPLT^BMCRPC3",
              "reach": "client-callable",
              "via": "mapping :bmc_rcis_template_detail"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:94"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/referrals/reference-data": {
      "get": {
        "operationId": "Referral.reference_data",
        "summary": "RpmsRpc::Referral.reference_data(*params)",
        "description": "Backed by `BMC GET REFERENCE DATA` (GETREFDT^BMCRPC1).\n\nLive specs: `test/live/missing_rpc_live_test.rb:89`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of reference_data",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.reference_data(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.reference_data(*params)",
          "rpcs": [
            {
              "name": "BMC GET REFERENCE DATA",
              "registered": true,
              "entry_point": "GETREFDT^BMCRPC1",
              "reach": "client-callable",
              "via": "mapping :bmc_reference_data"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:89"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/referrals/referred-to": {
      "get": {
        "operationId": "Referral.search_referred_to",
        "summary": "RpmsRpc::Referral.search_referred_to(*params)",
        "description": "Backed by `BMC SEARCH REFERRED TO` (SRRFRDTO^BMCRPC1).\n\nLive specs: `test/live/missing_rpc_live_test.rb:92`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of search_referred_to",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.search_referred_to(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.search_referred_to(*params)",
          "rpcs": [
            {
              "name": "BMC SEARCH REFERRED TO",
              "registered": true,
              "entry_point": "SRRFRDTO^BMCRPC1",
              "reach": "client-callable",
              "via": "mapping :bmc_search_referred_to"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:92"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "query"
        }
      }
    },
    "/referrals/users-providers": {
      "get": {
        "operationId": "Referral.users_providers",
        "summary": "RpmsRpc::Referral.users_providers(*params)",
        "description": "Backed by `BMC GET USERS/PROVIDERS` (PROV^BMCRPC4).\n\nLive specs: `test/live/missing_rpc_live_test.rb:90`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": false,
            "description": "Ruby rest argument of users_providers",
            "schema": {
              "type": "object",
              "additionalProperties": true
            },
            "style": "form",
            "explode": true
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.users_providers(*params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.users_providers(*params)",
          "rpcs": [
            {
              "name": "BMC GET USERS/PROVIDERS",
              "registered": true,
              "entry_point": "PROV^BMCRPC4",
              "reach": "client-callable",
              "via": "mapping :bmc_users_providers"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:90"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/referrals/{ien}": {
      "get": {
        "operationId": "Referral.find",
        "summary": "RpmsRpc::Referral.find(ien)",
        "description": "Backed by `BMC GET REFERRAL` (GTRFBYID^BMCRPC1).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.find(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.find(ien)",
          "rpcs": [
            {
              "name": "BMC GET REFERRAL",
              "registered": true,
              "entry_point": "GTRFBYID^BMCRPC1",
              "reach": "client-callable",
              "via": "mapping :referral_detail"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "read"
        }
      },
      "put": {
        "operationId": "Referral.update",
        "summary": "RpmsRpc::Referral.update(ien, *params)",
        "description": "Backed by `BMC UPDATE REFERRAL` (UPDREFRL^BMCRPC2).\n\nLive specs: `test/live/missing_rpc_live_test.rb:100`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "params": {
                    "description": "Ruby rest argument of update"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.update(ien, *params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.update(ien, *params)",
          "rpcs": [
            {
              "name": "BMC UPDATE REFERRAL",
              "registered": true,
              "entry_point": "UPDREFRL^BMCRPC2",
              "reach": "client-callable",
              "via": "mapping :bmc_update_referral"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:100"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "write"
        }
      }
    },
    "/referrals/{ien}/cancel": {
      "post": {
        "operationId": "Referral.cancel",
        "summary": "RpmsRpc::Referral.cancel(ien)",
        "description": "Backed by `BMC REFERRAL STATUS UPDATE` (UPDTSTRF^BMCRPC3).\n\nLive specs: `test/live/referral_cancel_live_test.rb:31`, `test/live/referral_cancel_live_test.rb:47`, `test/live/referral_cancel_live_test.rb:56`, `test/live/referral_cancel_live_test.rb:57`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.cancel(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.cancel(ien)",
          "rpcs": [
            {
              "name": "BMC REFERRAL STATUS UPDATE",
              "registered": true,
              "entry_point": "UPDTSTRF^BMCRPC3",
              "reach": "client-callable",
              "via": "mapping :bmc_referral_status_update"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/referral_cancel_live_test.rb:31",
            "test/live/referral_cancel_live_test.rb:47",
            "test/live/referral_cancel_live_test.rb:56",
            "test/live/referral_cancel_live_test.rb:57"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "action"
        }
      }
    },
    "/referrals/{ien}/print": {
      "post": {
        "operationId": "Referral.print",
        "summary": "RpmsRpc::Referral.print(ien, *params)",
        "description": "Backed by `BMC PRINT REFERRAL` (PRINT^BMCRPC5).\n\nLive specs: `test/live/missing_rpc_live_test.rb:101`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "params": {
                    "description": "Ruby rest argument of print"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.print(ien, *params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.print(ien, *params)",
          "rpcs": [
            {
              "name": "BMC PRINT REFERRAL",
              "registered": true,
              "entry_point": "PRINT^BMCRPC5",
              "reach": "client-callable",
              "via": "mapping :bmc_print_referral"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:101"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "action"
        }
      }
    },
    "/referrals/{ien}/status": {
      "put": {
        "operationId": "Referral.update_status",
        "summary": "RpmsRpc::Referral.update_status(ien, status, *params)",
        "description": "Backed by `BMC REFERRAL STATUS UPDATE` (UPDTSTRF^BMCRPC3).\n\nLive specs: `test/live/missing_rpc_live_test.rb:102`, `test/live/referral_cancel_live_test.rb:96`.\n\nProven by a live spec.",
        "tags": [
          "/referrals"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "description": "Ruby req argument of update_status"
                  },
                  "params": {
                    "description": "Ruby rest argument of update_status"
                  }
                },
                "required": [
                  "status"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Referral.update_status(ien, status, *params) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Referral.update_status(ien, status, *params)",
          "rpcs": [
            {
              "name": "BMC REFERRAL STATUS UPDATE",
              "registered": true,
              "entry_point": "UPDTSTRF^BMCRPC3",
              "reach": "client-callable",
              "via": "mapping :bmc_referral_status_update"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/missing_rpc_live_test.rb:102",
            "test/live/referral_cancel_live_test.rb:96"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "write"
        }
      }
    },
    "/registrations": {
      "post": {
        "operationId": "Registration.register",
        "summary": "RpmsRpc::Registration.register(attrs)",
        "description": "Backed by `AGG ADD NEW PATIENT` (ADD^AGGPTADD), `AGG UPDATE PATIENT` (UPD^AGGPTUPD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/registrations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "attrs": {
                    "description": "Ruby req argument of register"
                  }
                },
                "required": [
                  "attrs"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Registration.register(attrs) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Registration.register(attrs)",
          "rpcs": [
            {
              "name": "AGG ADD NEW PATIENT",
              "registered": true,
              "entry_point": "ADD^AGGPTADD",
              "reach": "client-callable",
              "via": "literal"
            },
            {
              "name": "AGG UPDATE PATIENT",
              "registered": true,
              "entry_point": "UPD^AGGPTUPD",
              "reach": "client-callable",
              "via": "literal"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/registrations/via-agg": {
      "post": {
        "operationId": "Registration.register_via_agg",
        "summary": "RpmsRpc::Registration.register_via_agg(attrs)",
        "description": "Backed by `AGG ADD NEW PATIENT` (ADD^AGGPTADD), `AGG UPDATE PATIENT` (UPD^AGGPTUPD).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/registrations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "attrs": {
                    "description": "Ruby req argument of register_via_agg"
                  }
                },
                "required": [
                  "attrs"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Registration.register_via_agg(attrs) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Registration.register_via_agg(attrs)",
          "rpcs": [
            {
              "name": "AGG ADD NEW PATIENT",
              "registered": true,
              "entry_point": "ADD^AGGPTADD",
              "reach": "client-callable",
              "via": "literal"
            },
            {
              "name": "AGG UPDATE PATIENT",
              "registered": true,
              "entry_point": "UPD^AGGPTUPD",
              "reach": "client-callable",
              "via": "literal"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "create"
        }
      }
    },
    "/symptoms": {
      "get": {
        "operationId": "Symptom.search",
        "summary": "RpmsRpc::Symptom.search(query)",
        "description": "Backed by `ORWDAL32 SYMPTOMS` (SYMPTOMS^ORWDAL32).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/symptoms"
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of search",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Symptom.search(query) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Symptom.search(query)",
          "rpcs": [
            {
              "name": "ORWDAL32 SYMPTOMS",
              "registered": true,
              "entry_point": "SYMPTOMS^ORWDAL32",
              "reach": "client-callable",
              "via": "mapping :symptom_search"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "query"
        }
      }
    },
    "/symptoms/defaults": {
      "get": {
        "operationId": "Symptom.defaults",
        "summary": "RpmsRpc::Symptom.defaults()",
        "description": "Backed by `ORWDAL32 DEF` (DEF^ORWDAL32).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/symptoms"
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Symptom.defaults() returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Symptom.defaults()",
          "rpcs": [
            {
              "name": "ORWDAL32 DEF",
              "registered": true,
              "entry_point": "DEF^ORWDAL32",
              "reach": "client-callable",
              "via": "mapping :symptom_defaults"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/tribes": {
      "get": {
        "operationId": "Tribal.tribes",
        "summary": "RpmsRpc::Tribal.tribes(part: ..., from: ...)",
        "description": "Backed by `DDR LISTER` (LISTC^DDR).\n\nLive specs: `test/live/cia_reply_lines_live_test.rb:84`.\n\nProven by a live spec.",
        "tags": [
          "/tribes"
        ],
        "parameters": [
          {
            "name": "part",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of tribes",
            "schema": {}
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of tribes",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Tribal.tribes(part: ..., from: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Tribal.tribes(part: ..., from: ...)",
          "rpcs": [
            {
              "name": "DDR LISTER",
              "registered": true,
              "entry_point": "LISTC^DDR",
              "reach": "client-callable",
              "via": "mapping :ddr_lister"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/cia_reply_lines_live_test.rb:84"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/tribes/validate": {
      "post": {
        "operationId": "Tribal.validate",
        "summary": "RpmsRpc::Tribal.validate(enrollment_number)",
        "description": "Backed by `DDR VALIDATOR` (VALC^DDR3).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/tribes"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enrollment_number": {
                    "description": "Ruby req argument of validate"
                  }
                },
                "required": [
                  "enrollment_number"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Tribal.validate(enrollment_number) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Tribal.validate(enrollment_number)",
          "rpcs": [
            {
              "name": "DDR VALIDATOR",
              "registered": true,
              "entry_point": "VALC^DDR3",
              "reach": "client-callable",
              "via": "mapping :ddr_validator"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/tribes/{ien}/info": {
      "get": {
        "operationId": "Tribal.tribe_info",
        "summary": "RpmsRpc::Tribal.tribe_info(ien)",
        "description": "Backed by `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/tribes"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Tribal.tribe_info(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Tribal.tribe_info(ien)",
          "rpcs": [
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/tribes/{ien}/service-unit": {
      "get": {
        "operationId": "Tribal.service_unit",
        "summary": "RpmsRpc::Tribal.service_unit(ien)",
        "description": "Backed by `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/tribes"
        ],
        "parameters": [
          {
            "name": "ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Tribal.service_unit(ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Tribal.service_unit(ien)",
          "rpcs": [
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/users": {
      "get": {
        "operationId": "UserManagement.search",
        "summary": "RpmsRpc::UserManagement.search(name_pattern)",
        "description": "Backed by `ORWU NEWPERS` (NEWPERS^ORWU).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/users"
        ],
        "parameters": [
          {
            "name": "name_pattern",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of search",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::UserManagement.search(name_pattern) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::UserManagement.search(name_pattern)",
          "rpcs": [
            {
              "name": "ORWU NEWPERS",
              "registered": true,
              "entry_point": "NEWPERS^ORWU",
              "reach": "client-callable",
              "via": "mapping :user_management_user_list"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "query"
        }
      }
    },
    "/users/authenticate": {
      "post": {
        "operationId": "Authentication.authenticate",
        "summary": "RpmsRpc::Authentication.authenticate(access_code: ..., verify_code: ...)",
        "description": "Backed by `XUS AV CODE` (VALIDAV^XUSRB), `XUS GET USER INFO` (USERINFO^XUSRB2), `XUS SIGNON SETUP` (SETUP^XUSRB).\n\nLive specs: `test/live/xwb/authenticate_live_test.rb:47`.\n\nProven by a live spec.",
        "tags": [
          "/users"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "access_code": {
                    "description": "Ruby key argument of authenticate"
                  },
                  "verify_code": {
                    "description": "Ruby key argument of authenticate"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Authentication.authenticate(access_code: ..., verify_code: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Authentication.authenticate(access_code: ..., verify_code: ...)",
          "rpcs": [
            {
              "name": "XUS AV CODE",
              "registered": true,
              "entry_point": "VALIDAV^XUSRB",
              "reach": "client-callable",
              "via": "mapping :av_code"
            },
            {
              "name": "XUS GET USER INFO",
              "registered": true,
              "entry_point": "USERINFO^XUSRB2",
              "reach": "client-callable",
              "via": "mapping :user_info"
            },
            {
              "name": "XUS SIGNON SETUP",
              "registered": true,
              "entry_point": "SETUP^XUSRB",
              "reach": "client-callable",
              "via": "mapping :signon_setup"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/xwb/authenticate_live_test.rb:47"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "action"
        }
      }
    },
    "/users/held-keys": {
      "get": {
        "operationId": "Authentication.held_keys",
        "summary": "RpmsRpc::Authentication.held_keys(names)",
        "description": "Backed by `CIAVCXUS HASKEYS` (HASKEYS^CIAVCXUS).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/users"
        ],
        "parameters": [
          {
            "name": "names",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of held_keys",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Authentication.held_keys(names) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Authentication.held_keys(names)",
          "rpcs": [
            {
              "name": "CIAVCXUS HASKEYS",
              "registered": true,
              "entry_point": "HASKEYS^CIAVCXUS",
              "reach": "client-callable",
              "via": "mapping :user_held_keys"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/users/verify-code": {
      "put": {
        "operationId": "Authentication.change_verify_code",
        "summary": "RpmsRpc::Authentication.change_verify_code(old_verify_code:, new_verify_code:, confirm_verify_code:, **_unused_keywords)",
        "description": "Backed by `XUS CVC` (CVC^XUSRB).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/users"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "old_verify_code": {
                    "description": "Ruby keyreq argument of change_verify_code"
                  },
                  "new_verify_code": {
                    "description": "Ruby keyreq argument of change_verify_code"
                  },
                  "confirm_verify_code": {
                    "description": "Ruby keyreq argument of change_verify_code"
                  }
                },
                "required": [
                  "old_verify_code",
                  "new_verify_code",
                  "confirm_verify_code"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::Authentication.change_verify_code(old_verify_code:, new_verify_code:, confirm_verify_code:, **_unused_keywords) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Authentication.change_verify_code(old_verify_code:, new_verify_code:, confirm_verify_code:, **_unused_keywords)",
          "rpcs": [
            {
              "name": "XUS CVC",
              "registered": true,
              "entry_point": "CVC^XUSRB",
              "reach": "client-callable",
              "via": "mapping :cvc_verify"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "write"
        }
      }
    },
    "/users/{duz}": {
      "get": {
        "operationId": "UserManagement.find",
        "summary": "RpmsRpc::UserManagement.find(duz)",
        "description": "Backed by `ORWU USERINFO` (USERINFO^ORWU), `XUS GET USER INFO` (USERINFO^XUSRB2).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/users"
        ],
        "parameters": [
          {
            "name": "duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::UserManagement.find(duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::UserManagement.find(duz)",
          "rpcs": [
            {
              "name": "ORWU USERINFO",
              "registered": true,
              "entry_point": "USERINFO^ORWU",
              "reach": "client-callable",
              "via": "mapping :practitioner_info"
            },
            {
              "name": "XUS GET USER INFO",
              "registered": true,
              "entry_point": "USERINFO^XUSRB2",
              "reach": "client-callable",
              "via": "mapping :user_info"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "read"
        }
      }
    },
    "/users/{duz}/has-security-key": {
      "get": {
        "operationId": "Authentication.has_security_key?",
        "summary": "RpmsRpc::Authentication.has_security_key?(duz, key_name)",
        "description": "Backed by `ORWU NPHASKEY` (NPHASKEY^ORWU).\n\nLive specs: `test/live/security_keys_live_test.rb:45`, `test/live/user_security_keys_live_test.rb:44`, `test/live/user_security_keys_live_test.rb:48`.\n\nProven by a live spec.",
        "tags": [
          "/users"
        ],
        "parameters": [
          {
            "name": "duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key_name",
            "in": "query",
            "required": true,
            "description": "Ruby req argument of has_security_key?",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Authentication.has_security_key?(duz, key_name) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Authentication.has_security_key?(duz, key_name)",
          "rpcs": [
            {
              "name": "ORWU NPHASKEY",
              "registered": true,
              "entry_point": "NPHASKEY^ORWU",
              "reach": "client-callable",
              "via": "mapping :person_has_key"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/security_keys_live_test.rb:45",
            "test/live/user_security_keys_live_test.rb:44",
            "test/live/user_security_keys_live_test.rb:48"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "predicate"
        }
      }
    },
    "/users/{duz}/info": {
      "get": {
        "operationId": "Authentication.user_info",
        "summary": "RpmsRpc::Authentication.user_info(duz)",
        "description": "Backed by `XUS GET USER INFO` (USERINFO^XUSRB2).\n\nLive specs: `test/live/user_role_live_test.rb:24`.\n\nProven by a live spec.",
        "tags": [
          "/users"
        ],
        "parameters": [
          {
            "name": "duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Authentication.user_info(duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Authentication.user_info(duz)",
          "rpcs": [
            {
              "name": "XUS GET USER INFO",
              "registered": true,
              "entry_point": "USERINFO^XUSRB2",
              "reach": "client-callable",
              "via": "mapping :user_info"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/user_role_live_test.rb:24"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/users/{duz}/security-keys": {
      "get": {
        "operationId": "Authentication.user_security_keys",
        "summary": "RpmsRpc::Authentication.user_security_keys(duz)",
        "description": "Backed by `DDR LISTER` (LISTC^DDR).\n\nLive specs: `test/live/user_security_keys_live_test.rb:36`, `test/live/user_security_keys_live_test.rb:59`.\n\nProven by a live spec.",
        "tags": [
          "/users"
        ],
        "parameters": [
          {
            "name": "duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Authentication.user_security_keys(duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Authentication.user_security_keys(duz)",
          "rpcs": [
            {
              "name": "DDR LISTER",
              "registered": true,
              "entry_point": "LISTC^DDR",
              "reach": "client-callable",
              "via": "mapping :ddr_lister"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/user_security_keys_live_test.rb:36",
            "test/live/user_security_keys_live_test.rb:59"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/users/{duz}/type": {
      "get": {
        "operationId": "Authentication.user_type",
        "summary": "RpmsRpc::Authentication.user_type(duz)",
        "description": "Backed by `ORWU USERINFO` (USERINFO^ORWU).\n\nLive specs: `test/live/user_role_live_test.rb:42`, `test/live/xwb/authenticate_live_test.rb:86`.\n\nProven by a live spec.",
        "tags": [
          "/users"
        ],
        "parameters": [
          {
            "name": "duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Authentication.user_type(duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Authentication.user_type(duz)",
          "rpcs": [
            {
              "name": "ORWU USERINFO",
              "registered": true,
              "entry_point": "USERINFO^ORWU",
              "reach": "client-callable",
              "via": "mapping :practitioner_info"
            }
          ],
          "status": "proven",
          "live_specs": [
            "test/live/user_role_live_test.rb:42",
            "test/live/xwb/authenticate_live_test.rb:86"
          ],
          "personas": [
            "least-privilege",
            "programmer"
          ],
          "rule": "noun"
        }
      }
    },
    "/users/{user_duz}/note-templates/roots": {
      "get": {
        "operationId": "NoteTemplate.roots",
        "summary": "RpmsRpc::NoteTemplate.roots(user_duz)",
        "description": "Backed by `TIU TEMPLATE GETROOTS` (GETROOTS^TIUSRVT).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/note-templates"
        ],
        "parameters": [
          {
            "name": "user_duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::NoteTemplate.roots(user_duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::NoteTemplate.roots(user_duz)",
          "rpcs": [
            {
              "name": "TIU TEMPLATE GETROOTS",
              "registered": true,
              "entry_point": "GETROOTS^TIUSRVT",
              "reach": "client-callable",
              "via": "mapping :template_roots"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/users/{user_duz}/notifications/inbox": {
      "get": {
        "operationId": "Notifications.inbox",
        "summary": "RpmsRpc::Notifications.inbox(user_duz, unread: ...)",
        "description": "Backed by `BQI GET COMM ALERTS SPLASH` (EN^BQICASPL).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/notifications"
        ],
        "parameters": [
          {
            "name": "user_duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "unread",
            "in": "query",
            "required": false,
            "description": "Ruby key argument of inbox",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Notifications.inbox(user_duz, unread: ...) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Notifications.inbox(user_duz, unread: ...)",
          "rpcs": [
            {
              "name": "BQI GET COMM ALERTS SPLASH",
              "registered": true,
              "entry_point": "EN^BQICASPL",
              "reach": "client-callable",
              "via": "mapping :notifications_inbox"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/users/{user_duz}/sessions/bootstrap": {
      "get": {
        "operationId": "Session.bootstrap",
        "summary": "RpmsRpc::Session.bootstrap(user_duz)",
        "description": "Backed by `CIAVCXUS VIMINFO` (VIMINFO^CIAVCXUS), `CIAVMCFG GETREG` (GETREG^CIAVMCFG).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/sessions"
        ],
        "parameters": [
          {
            "name": "user_duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Session.bootstrap(user_duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Session.bootstrap(user_duz)",
          "rpcs": [
            {
              "name": "CIAVCXUS VIMINFO",
              "registered": true,
              "entry_point": "VIMINFO^CIAVCXUS",
              "reach": "client-callable",
              "via": "mapping :session_vim_info"
            },
            {
              "name": "CIAVMCFG GETREG",
              "registered": true,
              "entry_point": "GETREG^CIAVMCFG",
              "reach": "client-callable",
              "via": "mapping :session_registry"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "inquiry"
        }
      }
    },
    "/users/{user_duz}/signatures/validate": {
      "post": {
        "operationId": "ESignature.validate",
        "summary": "RpmsRpc::ESignature.validate(user_duz, signature_code)",
        "description": "Backed by `ORWU VALIDSIG` (VALIDSIG^ORWU).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/signatures"
        ],
        "parameters": [
          {
            "name": "user_duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "signature_code": {
                    "description": "Ruby req argument of validate"
                  }
                },
                "required": [
                  "signature_code"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "What RpmsRpc::ESignature.validate(user_duz, signature_code) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::ESignature.validate(user_duz, signature_code)",
          "rpcs": [
            {
              "name": "ORWU VALIDSIG",
              "registered": true,
              "entry_point": "VALIDSIG^ORWU",
              "reach": "client-callable",
              "via": "mapping :tiu_valid_signature"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "action"
        }
      }
    },
    "/users/{user_duz}/sites": {
      "get": {
        "operationId": "Site.list",
        "summary": "RpmsRpc::Site.list(user_duz)",
        "description": "Backed by `BEHOSICX SITEINFO` (SITEINFO^BEHOSICX).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/sites"
        ],
        "parameters": [
          {
            "name": "user_duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Site.list(user_duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Site.list(user_duz)",
          "rpcs": [
            {
              "name": "BEHOSICX SITEINFO",
              "registered": true,
              "entry_point": "SITEINFO^BEHOSICX",
              "reach": "client-callable",
              "via": "mapping :site_info"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "read"
        }
      }
    },
    "/users/{user_duz}/sites/current": {
      "get": {
        "operationId": "Site.current",
        "summary": "RpmsRpc::Site.current(user_duz)",
        "description": "Backed by `BEHOSICX SITEINFO` (SITEINFO^BEHOSICX).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/sites"
        ],
        "parameters": [
          {
            "name": "user_duz",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Site.current(user_duz) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Site.current(user_duz)",
          "rpcs": [
            {
              "name": "BEHOSICX SITEINFO",
              "registered": true,
              "entry_point": "SITEINFO^BEHOSICX",
              "reach": "client-callable",
              "via": "mapping :site_info"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "noun"
        }
      }
    },
    "/visits/{visit_ien}/measurements": {
      "get": {
        "operationId": "Measurement.for_visit",
        "summary": "RpmsRpc::Measurement.for_visit(visit_ien)",
        "description": "Backed by `BEHOENCX GETVISIT` (GETVISIT^BEHOENCX), `BEHOVM2 VUNITS` (VUNITS^BEHOVM2), `BGOVMSR GET` (GET^BGOVMSR), `DDR GETS ENTRY DATA` (GETSC^DDR2).\n\nLive specs: none.\n\nNot in the live contract.",
        "tags": [
          "/measurements"
        ],
        "parameters": [
          {
            "name": "visit_ien",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "What RpmsRpc::Measurement.for_visit(visit_ien) returns."
          }
        },
        "x-rpms": {
          "ruby": "RpmsRpc::Measurement.for_visit(visit_ien)",
          "rpcs": [
            {
              "name": "BEHOENCX GETVISIT",
              "registered": true,
              "entry_point": "GETVISIT^BEHOENCX",
              "reach": "client-callable",
              "via": "mapping :encounter_visit"
            },
            {
              "name": "BEHOVM2 VUNITS",
              "registered": true,
              "entry_point": "VUNITS^BEHOVM2",
              "reach": "client-callable",
              "via": "mapping :vital_units"
            },
            {
              "name": "BGOVMSR GET",
              "registered": true,
              "entry_point": "GET^BGOVMSR",
              "reach": "client-callable",
              "via": "mapping :visit_measurements"
            },
            {
              "name": "DDR GETS ENTRY DATA",
              "registered": true,
              "entry_point": "GETSC^DDR2",
              "reach": "client-callable",
              "via": "mapping :ddr_gets_entry_data"
            }
          ],
          "status": "not_in_contract",
          "live_specs": [],
          "personas": [],
          "rule": "for"
        }
      }
    }
  },
  "x-rpms-gem": {
    "name": "rpms-rpc",
    "version": "0.4.0",
    "commit": "c2947c90c4ba244a2bea47d4510ae905bd6b6ed9"
  },
  "x-rpms-build": {
    "tag": "bcer-9.0-20261012-e7923a4-ydb"
  },
  "x-rpms-api": {
    "methods": 218,
    "operations": 199,
    "proven": 58,
    "verbs": {
      "GET": 148,
      "PUT": 10,
      "POST": 39,
      "DELETE": 2
    },
    "excluded": {
      "no_rpc": [
        "Agg.encode_parms",
        "Agg.parse_reply",
        "Authentication.clear_cache!",
        "Authentication.user_type_for",
        "DdrFileman.filer_params",
        "DdrFileman.gets_entry_param",
        "DdrFileman.key_validator_param",
        "DdrFileman.lister_param",
        "DdrFileman.lock_param",
        "DdrFileman.unlock_param",
        "DdrFileman.validator_param",
        "Encounter.visit_string",
        "Measurement.capture_mode_for",
        "Patient.decode_global_array",
        "Patient.normalize_lookup_row",
        "Referral.create",
        "Registration.hrn_mode",
        "Registration.hrn_mode=",
        "Vital.build_save_payload"
      ],
      "unresolved": [],
      "unregistered": []
    },
    "folded": [],
    "collections": [
      {
        "name": "admissions",
        "base": "/admissions",
        "modules": [
          "RpmsRpc::Adt"
        ],
        "operations": 3,
        "proven": 0
      },
      {
        "name": "agg",
        "base": "/agg",
        "modules": [
          "RpmsRpc::Agg"
        ],
        "operations": 4,
        "proven": 1
      },
      {
        "name": "allergies",
        "base": "/allergies",
        "modules": [
          "RpmsRpc::Allergy"
        ],
        "operations": 2,
        "proven": 0
      },
      {
        "name": "appointments",
        "base": "/appointments",
        "modules": [
          "RpmsRpc::Scheduling"
        ],
        "operations": 9,
        "proven": 1
      },
      {
        "name": "behavioral-health",
        "base": "/behavioral-health",
        "modules": [
          "RpmsRpc::BehavioralHealth",
          "RpmsRpc::BehavioralHealth::CaseManagement",
          "RpmsRpc::BehavioralHealth::Groups",
          "RpmsRpc::BehavioralHealth::Intake",
          "RpmsRpc::BehavioralHealth::Reference"
        ],
        "operations": 40,
        "proven": 0
      },
      {
        "name": "eligibility",
        "base": "/eligibility",
        "modules": [
          "RpmsRpc::Eligibility"
        ],
        "operations": 2,
        "proven": 2
      },
      {
        "name": "encounters",
        "base": "/encounters",
        "modules": [
          "RpmsRpc::Encounter"
        ],
        "operations": 3,
        "proven": 0
      },
      {
        "name": "exam-components",
        "base": "/exam-components",
        "modules": [
          "RpmsRpc::ExamComponent"
        ],
        "operations": 1,
        "proven": 0
      },
      {
        "name": "files",
        "base": "/files",
        "modules": [
          "RpmsRpc::DdrFileman"
        ],
        "operations": 7,
        "proven": 3
      },
      {
        "name": "health-factors",
        "base": "/health-factors",
        "modules": [
          "RpmsRpc::HealthFactor"
        ],
        "operations": 1,
        "proven": 0
      },
      {
        "name": "health-summaries",
        "base": "/health-summaries",
        "modules": [
          "RpmsRpc::HealthSummary"
        ],
        "operations": 5,
        "proven": 0
      },
      {
        "name": "images",
        "base": "/images",
        "modules": [
          "RpmsRpc::Image"
        ],
        "operations": 1,
        "proven": 0
      },
      {
        "name": "immunization-refusals",
        "base": "/immunization-refusals",
        "modules": [
          "RpmsRpc::ImmunizationRefusal"
        ],
        "operations": 2,
        "proven": 0
      },
      {
        "name": "immunizations",
        "base": "/immunizations",
        "modules": [
          "RpmsRpc::Immunization"
        ],
        "operations": 3,
        "proven": 2
      },
      {
        "name": "locations",
        "base": "/locations",
        "modules": [
          "RpmsRpc::Location"
        ],
        "operations": 1,
        "proven": 1
      },
      {
        "name": "measurements",
        "base": "/measurements",
        "modules": [
          "RpmsRpc::Measurement"
        ],
        "operations": 5,
        "proven": 0
      },
      {
        "name": "medications",
        "base": "/medications",
        "modules": [
          "RpmsRpc::Medication"
        ],
        "operations": 2,
        "proven": 0
      },
      {
        "name": "note-templates",
        "base": "/note-templates",
        "modules": [
          "RpmsRpc::NoteTemplate"
        ],
        "operations": 5,
        "proven": 0
      },
      {
        "name": "notifications",
        "base": "/notifications",
        "modules": [
          "RpmsRpc::Notifications"
        ],
        "operations": 1,
        "proven": 0
      },
      {
        "name": "orders",
        "base": "/orders",
        "modules": [
          "RpmsRpc::Order"
        ],
        "operations": 8,
        "proven": 5
      },
      {
        "name": "organizations",
        "base": "/organizations",
        "modules": [
          "RpmsRpc::Organization"
        ],
        "operations": 1,
        "proven": 1
      },
      {
        "name": "patients",
        "base": "/patients",
        "modules": [
          "RpmsRpc::Patient"
        ],
        "operations": 8,
        "proven": 6
      },
      {
        "name": "phr",
        "base": "/phr",
        "modules": [
          "RpmsRpc::Phr"
        ],
        "operations": 6,
        "proven": 0
      },
      {
        "name": "practitioners",
        "base": "/practitioners",
        "modules": [
          "RpmsRpc::Practitioner"
        ],
        "operations": 2,
        "proven": 0
      },
      {
        "name": "problems",
        "base": "/problems",
        "modules": [
          "RpmsRpc::Problem"
        ],
        "operations": 14,
        "proven": 10
      },
      {
        "name": "procedures",
        "base": "/procedures",
        "modules": [
          "RpmsRpc::Procedure"
        ],
        "operations": 2,
        "proven": 1
      },
      {
        "name": "progress-notes",
        "base": "/progress-notes",
        "modules": [
          "RpmsRpc::ProgressNote"
        ],
        "operations": 7,
        "proven": 0
      },
      {
        "name": "purposes-of-visit",
        "base": "/purposes-of-visit",
        "modules": [
          "RpmsRpc::Pov"
        ],
        "operations": 1,
        "proven": 0
      },
      {
        "name": "referrals",
        "base": "/referrals",
        "modules": [
          "RpmsRpc::Referral"
        ],
        "operations": 21,
        "proven": 19
      },
      {
        "name": "registrations",
        "base": "/registrations",
        "modules": [
          "RpmsRpc::Registration"
        ],
        "operations": 3,
        "proven": 0
      },
      {
        "name": "reminders",
        "base": "/reminders",
        "modules": [
          "RpmsRpc::Reminders"
        ],
        "operations": 1,
        "proven": 0
      },
      {
        "name": "sessions",
        "base": "/sessions",
        "modules": [
          "RpmsRpc::Session"
        ],
        "operations": 1,
        "proven": 0
      },
      {
        "name": "signatures",
        "base": "/signatures",
        "modules": [
          "RpmsRpc::ESignature"
        ],
        "operations": 4,
        "proven": 0
      },
      {
        "name": "sites",
        "base": "/sites",
        "modules": [
          "RpmsRpc::Site"
        ],
        "operations": 2,
        "proven": 0
      },
      {
        "name": "symptoms",
        "base": "/symptoms",
        "modules": [
          "RpmsRpc::Symptom"
        ],
        "operations": 2,
        "proven": 0
      },
      {
        "name": "tribes",
        "base": "/tribes",
        "modules": [
          "RpmsRpc::Tribal"
        ],
        "operations": 6,
        "proven": 1
      },
      {
        "name": "users",
        "base": "/users",
        "modules": [
          "RpmsRpc::Authentication",
          "RpmsRpc::UserManagement"
        ],
        "operations": 9,
        "proven": 5
      },
      {
        "name": "vitals",
        "base": "/vitals",
        "modules": [
          "RpmsRpc::Vital"
        ],
        "operations": 4,
        "proven": 0
      }
    ]
  }
}
