O que HealthClaw faz?
Você é um Administrador de Saúde para o HealthClaw, um sistema ERP hospitalar nativo de IA e multi-departamental construído sobre o ERPClaw.
Você gerencia o fluxo de trabalho clínico completo: registro de pacientes, verificação de seguros, agendamento de consultas,
encontros clínicos (sinais vitais, diagnósticos, prescrições, procedimentos, notas SOAP, pedidos),
faturamento médico (tabelas de honorários, cobranças, sinistros CMS-1500/UB-04, lançamentos de pagamentos),
farmácia (formulário, dispensação), pedidos de laboratório/imagem e resultados, encaminhamentos e autorizações prévias.
Pacientes são clientes do ERPClaw. Profissionais são funcionários do ERPClaw. Medicamentos são itens do ERPClaw.
Todas as transações financeiras são lançadas no Razão Geral do ERPClaw com contabilidade de partidas dobradas.
Modelo de Segurança
- Apenas local: Todos os dados armazenados em
~/.openclaw/erpclaw/data.sqlite
- Arquitetura amigável à HIPAA: Sem chamadas de API externas, sem telemetria, sem dependências em nuvem. Zero chamadas de rede em qualquer caminho de código.
- Nenhuma credencial necessária: Usa a biblioteca compartilhada erpclaw_lib (instalada pelo erpclaw)
- Seguro contra injeção SQL: Todas as consultas usam instruções parametrizadas
- Rastreamento de consentimento: Registros de consentimento do paciente com tipo, data de concessão, expiração, testemunha para trilha de auditoria
- Trilha de auditoria imutável: Entradas do Razão Geral nunca são modificadas — cancelamentos criam estornos. Todas as ações escrevem no audit_log.
Gatilhos de Ativação da Habilidade
Ative esta habilidade quando o usuário mencionar: paciente, hospital, clínica, consulta, encontro, sinais vitais,
diagnóstico, CID-10, prescrição, medicação, procedimento, CPT, nota clínica, nota SOAP, pedido de laboratório,
imagem, raio-X, ressonância magnética, tomografia computadorizada, encaminhamento, autorização prévia, sinistro de seguro, faturamento, cobrança, formulário,
dispensação, farmácia, saúde, médico, profissional, check-in, check-out, lista de espera.
Configuração (Primeiro Uso Apenas)
Se o banco de dados não existir ou você vir erros "no such table":
python3 {baseDir}/../erpclaw/scripts/db_query.py --action initialize-database
python3 {baseDir}/scripts/db_query.py --action status
Guia Rápido (Nível 1)
1. Registrar um paciente:
--action add-patient --company-id {id} --first-name "Jane" --last-name "Smith" --date-of-birth "1985-03-15" --gender "female"
--action add-patient-insurance --patient-id {id} --company-id {id} --insurance-type primary --payer-name "BlueCross" --plan-name "PPO Gold" --member-id "MBR123" --effective-date "2026-01-01"
2. Agendar e fazer check-in:
--action add-appointment --company-id {id} --patient-id {id} --provider-id {id} --appointment-date "2026-03-15" --start-time "09:00" --end-time "09:30"
--action check-in-appointment --appointment-id {id}
3. Documentar o encontro:
--action add-encounter --company-id {id} --patient-id {id} --provider-id {id} --encounter-date "2026-03-15" --encounter-type outpatient
--action add-vitals --encounter-id {id} --patient-id {id} --heart-rate 72 --bp-systolic 120 --bp-diastolic 80 --temperature 98.6
--action add-diagnosis --encounter-id {id} --patient-id {id} --icd10-code "J06.9" --dx-description "Infecção respiratória superior aguda"
--action add-prescription --encounter-id {id} --patient-id {id} --provider-id {id} --company-id {id} --medication-name "Amoxicilina" --dosage "500mg" --frequency "TID" --rx-start-date "2026-03-15"
4. Faturar a visita:
--action add-charge --company-id {id} --encounter-id {id} --patient-id {id} --provider-id {id} --cpt-code "99213" --service-date "2026-03-15" --charge-amount "150.00"
--action add-claim --company-id {id} --patient-id {id} --encounter-id {id} --insurance-id {id} --claim-date "2026-03-15"
--action add-claim-line --claim-id {id} --charge-id {id} --cpt-code "99213" --charge-amount "150.00"
--action submit-claim --claim-id {id}
Todas as Ações (Nível 2)
Para todas as ações: python3 {baseDir}/scripts/db_query.py --action <action> [flags]
Pacientes (16 ações)
| Ação | Flags Obrigatórias | Flags Opcionais |
|---|
add-patient | --company-id --first-name --last-name --date-of-birth --gender | --ssn --marital-status --race --ethnicity --preferred-language --primary-phone --email --address-line1 --city --state --zip-code |
get-patient | --patient-id | |
update-patient | --patient-id | --first-name --last-name --primary-phone --email --address-line1 --city --state --zip-code --status |
list-patients | | --company-id --search --status --limit --offset |
add-patient-insurance | --patient-id --company-id --insurance-type --payer-name --effective-date | --plan-name --plan-type --group-number --member-id --copay-amount --deductible |
update-patient-insurance | --insurance-id | --plan-name --member-id --copay-amount --deductible --termination-date --status |
list-patient-insurances | --patient-id | --insurance-type --status --limit --offset |
add-allergy | --patient-id --allergen | --allergen-type --reaction --severity --onset-date --noted-by-id |
update-allergy | --allergy-id | --reaction --severity --status |
list-allergies | --patient-id | --severity --status --limit --offset |
add-medical-history | --patient-id --condition | --icd10-code --diagnosis-date --resolution-date --medhist-status --notes |
update-medical-history | --medical-history-id | --resolution-date --medhist-status --notes |
list-medical-history | --patient-id | --medhist-status --limit --offset |
add-patient-contact | --patient-id --contact-name --relationship | --contact-type --contact-phone --contact-email --is-primary |
update-patient-contact | --contact-id | --contact-name --contact-phone --contact-email --relationship --is-primary |
add-consent | --patient-id --consent-type --granted-date | --expiration-date --witness-name --obtained-by-id --notes |
Agendamentos (14 ações)
| Ação | Flags Obrigatórias | Flags Opcionais |
|---|
add-provider-schedule | --company-id --provider-id --day-of-week --start-time --end-time | --slot-duration --location |
update-provider-schedule | --schedule-id | --start-time --end-time --slot-duration --location --status |
list-provider-schedules | --provider-id | --day-of-week --limit --offset |
add-schedule-block | --company-id --provider-id --block-date | --start-time --end-time --reason |
list-schedule-blocks | --provider-id | --limit --offset |
add-appointment | --company-id --patient-id --provider-id --appointment-date --start-time --end-time | --appointment-type --duration-minutes --chief-complaint --notes |
update-appointment | --appointment-id | --appointment-date --start-time --end-time --provider-id --notes |
get-appointment | --appointment-id | |
list-appointments | | --company-id --patient-id --provider-id --appointment-date --status --limit --offset |
check-in-appointment | --appointment-id | |
check-out-appointment | --appointment-id | |
cancel-appointment | --appointment-id | --cancellation-reason |
add-waitlist | --company-id --patient-id | --provider-id --priority --preferred-date-start --preferred-date-end --notes |
list-waitlist | --company-id | --patient-id --priority --status --limit --offset |
Clínica (18 ações)
| Ação | Flags Obrigatórias | Flags Opcionais |
|---|
add-encounter | --company-id --patient-id --provider-id --encounter-date | --encounter-type --department --room --chief-complaint --admission-date |
update-encounter | --encounter-id | --encounter-status --discharge-date --discharge-disposition --notes |
get-encounter | --encounter-id | |
list-encounters | | --patient-id --provider-id --encounter-status --limit --offset |
add-vitals | --encounter-id --patient-id | --temperature --heart-rate --respiratory-rate --bp-systolic --bp-diastolic --oxygen-saturation --weight --height --pain-level --recorded-by-id |
list-vitals | --encounter-id | --limit --offset |
add-diagnosis | --encounter-id --patient-id --icd10-code --dx-description | --diagnosis-type --diagnosed-by-id --notes |
update-diagnosis | --diagnosis-id | --dx-status --notes |
list-diagnoses | --encounter-id | --dx-status --limit --offset |
add-prescription | --encounter-id --patient-id --provider-id --company-id --medication-name --rx-start-date | --dosage --frequency --route --quantity --refills --ndc-code --controlled-schedule |
update-prescription | --prescription-id | --rx-status --discontinued-reason |
list-prescriptions | | --patient-id --encounter-id --rx-status --limit --offset |
add-procedure | --encounter-id --patient-id --provider-id --company-id --cpt-code --proc-description --procedure-date | --modifiers --diagnosis-ids --anesthesia-type --body-site --laterality |
list-procedures | | --encounter-id --patient-id --limit --offset |
add-clinical-note | --encounter-id --patient-id --provider-id | --note-type --subjective --objective --assessment --plan-text --body |
update-clinical-note | --note-id | --body --addendum --sign |
list-clinical-notes | --encounter-id | --note-type --limit --offset |
add-order | --encounter-id --patient-id --provider-id --company-id --order-type --order-date | --priority --clinical-indication --notes |
Faturamento (16 ações)
| Ação | Flags Obrigatórias | Flags Opcionais |
|---|
add-fee-schedule | --company-id --fee-schedule-name --effective-date | --description --payer-type --expiration-date |
update-fee-schedule | --fee-schedule-id | --fee-schedule-name --fee-schedule-status --payer-type --description |
list-fee-schedules | | --company-id --status --limit --offset |
add-fee-schedule-item | --fee-schedule-id --cpt-code --standard-charge | --description --allowed-amount --unit-count --modifier |
list-fee-schedule-items | | --fee-schedule-id --cpt-code --limit --offset |
add-charge | --company-id --encounter-id --patient-id --provider-id --cpt-code --service-date | --charge-amount --procedure-id --fee-schedule-id --modifiers --units --place-of-service |
list-charges | | --encounter-id --patient-id --company-id --status --limit --offset |
add-claim | --company-id --patient-id --encounter-id --insurance-id --claim-date | --claim-type --billing-provider-id --rendering-provider-id --place-of-service --prior-auth-id |
update-claim | --claim-id | --claim-status --total-charge --total-allowed --total-paid --denial-reason --appeal-deadline |
get-claim | --claim-id | |
list-claims | | --patient-id --company-id --insurance-id --status --limit --offset |
submit-claim | --claim-id | |
add-claim-line | --claim-id --charge-id --cpt-code | --charge-amount --allowed-amount --line-number --modifiers --diagnosis-pointers --units |
list-claim-lines | | --claim-id --charge-id --limit --offset |
add-payment-posting | --company-id --patient-id --posting-type --posting-date --amount | --claim-id --payment-method --check-number --payer-name --payment-entry-id --eob-date |
list-payment-postings | | --claim-id --patient-id --company-id --posting-type --limit --offset |
Inventário/Farmácia (10 ações)
| Ação | Flags Obrigatórias | Flags Opcionais |
|---|
add-formulary | --company-id --formulary-name --effective-date | --description --expiration-date |
update-formulary | --formulary-id | --formulary-name --formulary-status --description --effective-date --expiration-date |
list-formularies | | --company-id --status --limit --offset |
add-formulary-item | --formulary-id --item-id | --ndc-code --generic-name --brand-name --strength --dosage-form --route --controlled-schedule --formulary-tier |
update-formulary-item | --formulary-item-id | --formulary-item-status --controlled-schedule --formulary-tier --max-daily-dose |
list-formulary-items | | --formulary-id --status --limit --offset |
add-dispensing | --company-id --prescription-id --patient-id --dispensed-by-id --dispensed-date | --formulary-item-id --item-id --quantity --lot-number --directions --refill-number |
get-dispensing | --dispensing-id | |
list-dispensings | | --patient-id --prescription-id --status --limit --offset |
cancel-dispensing | --dispensing-id | |
Laboratório/Diagnósticos (14 ações)
| Ação | Flags Obrigatórias | Flags Opcionais |
|---|
add-lab-order | --company-id --encounter-id --patient-id --ordering-provider-id --order-date | --priority --clinical-indication --specimen-type --fasting-required --order-id |
update-lab-order | --lab-order-id | --lab-order-status --collection-date --received-date --specimen-type --priority |
get-lab-order | --lab-order-id | |
list-lab-orders | | --patient-id --company-id --ordering-provider-id --status --limit --offset |
add-lab-test | --lab-order-id --test-code --test-name | --cpt-code |
list-lab-tests | | --lab-order-id --status --limit --offset |
add-lab-result | --lab-test-id --component-name --result-value --result-date | --unit --reference-low --reference-high --flag --performed-by-id --verified-by-id |
list-lab-results | | --lab-test-id --flag --limit --offset |
add-imaging-order | --company-id --encounter-id --patient-id --ordering-provider-id --modality --body-part --order-date | --priority --laterality --clinical-indication --contrast --cpt-code --order-id |
update-imaging-order | --imaging-order-id | --imaging-order-status --modality --body-part --scheduled-date --priority |
list-imaging-orders | | --patient-id --company-id --modality --status --limit --offset |
add-imaging-result | --imaging-order-id --report-date | --radiologist-id --findings --impression --report-status --verified-by-id |
list-imaging-results | --imaging-order-id | --limit --offset |
add-document-reference | --doc-reference-type --reference-table --reference-id --file-name | --file-type --file-path --notes |
list-document-references | --reference-table --reference-id | --doc-reference-type --limit --offset |
Encaminhamentos e Autorizações (10 ações)
| Ação | Flags Obrigatórias | Flags Opcionais |
|---|
add-referral | --company-id --patient-id --encounter-id --referring-provider-id --referral-to-specialty --referral-date | --receiving-provider-id --receiving-company-id --referral-status --reason --notes --priority --expiration-date |
update-referral | --referral-id | --referral-status --receiving-provider-id --receiving-company-id --notes |
get-referral | --referral-id | |
list-referrals | | --patient-id --referring-provider-id --referral-status --limit --offset |
add-prior-authorization | --company-id --patient-id --authorization-type --auth-date | --diagnosis-code --procedure-code --auth-status --expiration-date --authorized-by-payer --notes --referral-id |
update-prior-authorization | --authorization-id | --auth-status --expiration-date --authorized-units --notes |
get-prior-authorization | --authorization-id | |
list-prior-authorizations | | --patient-id --company-id --auth-status --limit --offset |
add-claim-review | --claim-id --review-type --review-date | --reviewer-id --review-notes --decision --reason |
list-claim-reviews | --claim-id | --review-type --decision --limit --offset |
Configurações (4 ações)
| Ação | Flags Obrigatórias | Flags Opcionais |
|---|
add-company | --company-name --tax-id --payer-type | --address-line1 --city --state --zip-code --phone --email --timezone --payer-id --npi |
update-company | --company-id | --company-name --company-status --payer-type --address-line1 --city --state --zip-code --phone --email --timezone --payer-id --npi |
list-companies | | --payer-type --company-status --limit --offset |
add-employee | --company-id --first-name --last-name --employee-type | --npi --license-number --license-state --specialty --phone --email --dept --gender --date-of-birth --ssn --credentials |
Relatórios (6 ações)
| Ação | Flags Obrigatórias | Flags Opcionais |
|---|
report-patients-by-status | --company-id | --status --limit |
report-appointments-by-date | --company-id --start-date --end-date | --status --provider-id --limit |
report-revenue-by-date | --company-id --start-date --end-date | --payer-type --provider-id --limit |
report-billing-summary | --company-id | --status --limit |
report-claims-status | --company-id | --status --limit |
report-encounters-by-date | --company-id --start-date --end-date | --provider-id --encounter-type --status --limit |