Files
medevio/30 ManipulacePoznámek/100 JednoducheCteni1poznamky.py
2025-12-02 16:50:06 +01:00

93 lines
2.0 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
from pathlib import Path
import sys
# UTF-8 safety
try:
sys.stdout.reconfigure(encoding='utf-8')
except:
pass
# === CONFIG ===
TOKEN_PATH = Path("token.txt")
GRAPHQL_URL = "https://api.medevio.cz/graphql"
REQUEST_ID = "e17536c4-ed22-4242-ada5-d03713e0b7ac" # požadavek který sledujeme
def read_token(path: Path) -> str:
t = path.read_text().strip()
if t.startswith("Bearer "):
return t.split(" ", 1)[1]
return t
# === QUERY ===
QUERY = r"""
query ClinicRequestNotes_Get($patientRequestId: String!) {
notes: getClinicPatientRequestNotes(requestId: $patientRequestId) {
id
content
createdAt
updatedAt
createdBy {
id
name
surname
}
}
}
"""
def run_query(request_id, token):
payload = {
"operationName": "ClinicRequestNotes_Get",
"query": QUERY,
"variables": {"patientRequestId": request_id},
}
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
r = requests.post(GRAPHQL_URL, json=payload, headers=headers)
r.raise_for_status()
return r.json()
def main():
token = read_token(TOKEN_PATH)
print(f"🔍 Čtu interní klinické poznámky k požadavku {REQUEST_ID} ...\n")
data = run_query(REQUEST_ID, token)
notes = data.get("data", {}).get("notes", [])
if not notes:
print("📭 Žádné klinické poznámky nejsou uložené.")
return
print(f"📌 Nalezeno {len(notes)} poznámek:\n")
for n in notes:
print("──────────────────────────────")
print(f"🆔 ID: {n['id']}")
print(f"👤 Vytvořil: {n['createdBy']['surname']} {n['createdBy']['name']}")
print(f"📅 createdAt: {n['createdAt']}")
print(f"🕒 updatedAt: {n['updatedAt']}")
print("📝 Obsah:")
print(n['content'])
print("")
if __name__ == "__main__":
main()