Job Summary :
The Registered Nurse will provide skilled nursing care, case management, and hospice care to individuals facing advancing age, frailty, and serious illness. Daily responsibilities include patient assessments, medication administration, treatment planning, and collaborating with the interdisciplinary team. Strong communication and collaboration with patients, providers, and other team members are essential.
Location : Polson, Montana, United States
Responsibilities :
Required Skills & Certifications :
Preferred Skills & Certifications :
Special Considerations :
#capture endpoint
crew = Crew(
agent=[capture],
tasks=[capture_task],
memory=True,
cache=True,
max_rpm=100,
share_crew=True
@app.route(" / api / proposals / capture / ", methods=["GET"])
def capture_proposal(proposal_id) :
if db is None :
return jsonify({"error" : FIREBASE_NOT_INITIALIZED}), 500
try :
# 1 Check proposal existence
doc = db.collection("proposals").document(proposal_id).get()
if not doc.exists :
return jsonify({"error" : PROPOSAL_NOT_FOUND_MSG}), 404
proposal_data = doc.to_dict()
content = proposal_data.get("content", "")
# 2 Check if capture already exists
capture_doc = db.collection("proposal_capture").document(proposal_id).get()
if capture_doc.exists :
# If exists, just return the stored intelligence summary
return jsonify(capture_doc.to_dict().get("intelligenceSummary", {})), 200
# 3 Extract organization name
orgname = extract_orgname(content)
# 4 Run Crew agent
intel_summary = crew.kickoff(inputs={"orgname" : orgname})
# 5 Normalize CrewOutput to JSON-safe dict
def normalize(result) :
jd = getattr(result, "json_dict", None)
if jd : return jd
raw = getattr(result, "raw", None) or str(result)
try :
return json.loads(raw)
except Exception :
m = re.search(r"{[sS]
if m : try :
return json.loads(m.group(0))
except Exception :
pass
# If all fails, wrap as a fallback
return {
"clientProfile" : {},
"incumbentVendors" : [],
"competitors" : [],
"painPoint" : [],
"stakeholders" : [],
"raw" : raw
intel_summary_safe = normalize(intel_summary)
# 6 Ensure all top-level keys exist
structured_response = {
"clientProfile" : intel_summary_safe.get("clientProfile", {}),
"incumbentVendors" : intel_summary_safe.get("incumbentVendors", []),
"competitors" : intel_summary_safe.get("competitors", []),
"painPoint" : intel_summary_safe.get("painPoint", []),
"stakeholders" : intel_summary_safe.get("stakeholders", [])
# 7 Save capture in Firestore
db.collection("proposal_capture").document(proposal_id).set({
"proposalId" : proposal_id,
"orgName" : orgname,
"intelligenceSummary" : structured_response,
"updatedAt" : datetime.now(timezone.utc).isoformat()
})
# 8 Return structured response
return jsonify(structured_response), 200
except Exception as e :
print(f" Error capturing proposal '{proposal_id}' : {e}")
return jsonify({"error" : str(e)}), 500
Scheduling :
Registered Nurse • Polson, MT, United States