naftiko: 1.0.0-alpha2 info: label: Orion Health FHIR API description: The Orion Health FHIR API provides standards-based access to healthcare data using the HL7 FHIR (Fast Healthcare Interoperability Resources) specification. It enables healthcare organizations to read, search, create, and update clinical resources including patients, encounters, observations, conditions, medications, allergies, procedures, diagnostic reports, and care plans. The API conforms to FHIR R4 (v4.0.1) and supports both JSON and XML representations. tags: - Orion - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: orion baseUri: https://api.orionhealth.com/fhir description: Orion Health FHIR API HTTP API. authentication: type: bearer token: '{{ORION_TOKEN}}' resources: - name: metadata path: /metadata operations: - name: getcapabilitystatement method: GET description: Orion Health Get server capability statement outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patient path: /Patient operations: - name: searchpatients method: GET description: Orion Health Search for patients inputParameters: - name: _id in: query type: string description: Logical ID of the patient resource - name: identifier in: query type: string description: Patient identifier (e.g., MRN, SSN) in format system|value - name: family in: query type: string description: Family (last) name of the patient - name: given in: query type: string description: Given (first) name of the patient - name: name in: query type: string description: Any part of the patient name - name: birthdate in: query type: string description: Patient date of birth (YYYY-MM-DD) - name: gender in: query type: string description: Patient gender - name: address in: query type: string description: Any part of the patient address - name: telecom in: query type: string description: Patient phone number or email outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createpatient method: POST description: Orion Health Create a new patient outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patient-id path: /Patient/{id} operations: - name: getpatient method: GET description: Orion Health Read a patient by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatepatient method: PUT description: Orion Health Update a patient outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patient-id-history path: /Patient/{id}/_history operations: - name: getpatienthistory method: GET description: Orion Health Get patient version history outputRawFormat: json outputParameters: - name: result type: object value: $. - name: encounter path: /Encounter operations: - name: searchencounters method: GET description: Orion Health Search for encounters inputParameters: - name: patient in: query type: string description: Reference to the patient - name: date in: query type: string description: Encounter date or date range - name: status in: query type: string description: Encounter status - name: class in: query type: string description: Classification of the encounter (e.g., ambulatory, inpatient) - name: type in: query type: string description: Specific type of encounter outputRawFormat: json outputParameters: - name: result type: object value: $. - name: encounter-id path: /Encounter/{id} operations: - name: getencounter method: GET description: Orion Health Read an encounter by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: observation path: /Observation operations: - name: searchobservations method: GET description: Orion Health Search for observations inputParameters: - name: patient in: query type: string description: Reference to the patient - name: category in: query type: string description: Observation category (e.g., vital-signs, laboratory) - name: code in: query type: string description: LOINC or SNOMED code for the observation - name: date in: query type: string description: Observation date or date range - name: status in: query type: string description: Observation status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createobservation method: POST description: Orion Health Create a new observation outputRawFormat: json outputParameters: - name: result type: object value: $. - name: observation-id path: /Observation/{id} operations: - name: getobservation method: GET description: Orion Health Read an observation by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: condition path: /Condition operations: - name: searchconditions method: GET description: Orion Health Search for conditions inputParameters: - name: patient in: query type: string description: Reference to the patient - name: code in: query type: string description: ICD-10 or SNOMED code for the condition - name: clinical-status in: query type: string description: Clinical status of the condition - name: category in: query type: string description: Condition category - name: onset-date in: query type: string description: Date of onset outputRawFormat: json outputParameters: - name: result type: object value: $. - name: condition-id path: /Condition/{id} operations: - name: getcondition method: GET description: Orion Health Read a condition by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: medicationrequest path: /MedicationRequest operations: - name: searchmedicationrequests method: GET description: Orion Health Search for medication requests inputParameters: - name: patient in: query type: string description: Reference to the patient - name: status in: query type: string description: Prescription status - name: intent in: query type: string description: Kind of medication request - name: authoredon in: query type: string description: Date the prescription was written outputRawFormat: json outputParameters: - name: result type: object value: $. - name: medicationrequest-id path: /MedicationRequest/{id} operations: - name: getmedicationrequest method: GET description: Orion Health Read a medication request by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: allergyintolerance path: /AllergyIntolerance operations: - name: searchallergyintolerances method: GET description: Orion Health Search for allergy intolerances inputParameters: - name: patient in: query type: string description: Reference to the patient - name: clinical-status in: query type: string description: Clinical status of the allergy - name: type in: query type: string description: allergy or intolerance - name: criticality in: query type: string description: Criticality level outputRawFormat: json outputParameters: - name: result type: object value: $. - name: allergyintolerance-id path: /AllergyIntolerance/{id} operations: - name: getallergyintolerance method: GET description: Orion Health Read an allergy intolerance by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: procedure path: /Procedure operations: - name: searchprocedures method: GET description: Orion Health Search for procedures inputParameters: - name: patient in: query type: string description: Reference to the patient - name: code in: query type: string description: CPT or SNOMED code for the procedure - name: date in: query type: string description: Procedure date or date range - name: status in: query type: string description: Procedure status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: procedure-id path: /Procedure/{id} operations: - name: getprocedure method: GET description: Orion Health Read a procedure by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: diagnosticreport path: /DiagnosticReport operations: - name: searchdiagnosticreports method: GET description: Orion Health Search for diagnostic reports inputParameters: - name: patient in: query type: string description: Reference to the patient - name: category in: query type: string description: Report category (e.g., LAB, RAD) - name: code in: query type: string description: LOINC code for the report - name: date in: query type: string description: Report date or date range - name: status in: query type: string description: Report status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: diagnosticreport-id path: /DiagnosticReport/{id} operations: - name: getdiagnosticreport method: GET description: Orion Health Read a diagnostic report by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: careplan path: /CarePlan operations: - name: searchcareplans method: GET description: Orion Health Search for care plans inputParameters: - name: patient in: query type: string description: Reference to the patient - name: status in: query type: string description: Care plan status - name: category in: query type: string description: Type of care plan - name: date in: query type: string description: Care plan period outputRawFormat: json outputParameters: - name: result type: object value: $. - name: careplan-id path: /CarePlan/{id} operations: - name: getcareplan method: GET description: Orion Health Read a care plan by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: immunization path: /Immunization operations: - name: searchimmunizations method: GET description: Orion Health Search for immunizations inputParameters: - name: patient in: query type: string description: Reference to the patient - name: date in: query type: string description: Vaccination date or date range - name: vaccine-code in: query type: string description: CVX code for the vaccine - name: status in: query type: string description: Immunization status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: immunization-id path: /Immunization/{id} operations: - name: getimmunization method: GET description: Orion Health Read an immunization by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: documentreference path: /DocumentReference operations: - name: searchdocumentreferences method: GET description: Orion Health Search for document references inputParameters: - name: patient in: query type: string description: Reference to the patient - name: type in: query type: string description: Document type code - name: category in: query type: string description: Document category - name: date in: query type: string description: Document date or date range - name: status in: query type: string description: Document status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: documentreference-id path: /DocumentReference/{id} operations: - name: getdocumentreference method: GET description: Orion Health Read a document reference by ID outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: orion-rest description: REST adapter for Orion Health FHIR API. resources: - path: /metadata name: getcapabilitystatement operations: - method: GET name: getcapabilitystatement description: Orion Health Get server capability statement call: orion.getcapabilitystatement outputParameters: - type: object mapping: $. - path: /Patient name: searchpatients operations: - method: GET name: searchpatients description: Orion Health Search for patients call: orion.searchpatients outputParameters: - type: object mapping: $. - path: /Patient name: createpatient operations: - method: POST name: createpatient description: Orion Health Create a new patient call: orion.createpatient outputParameters: - type: object mapping: $. - path: /Patient/{id} name: getpatient operations: - method: GET name: getpatient description: Orion Health Read a patient by ID call: orion.getpatient outputParameters: - type: object mapping: $. - path: /Patient/{id} name: updatepatient operations: - method: PUT name: updatepatient description: Orion Health Update a patient call: orion.updatepatient outputParameters: - type: object mapping: $. - path: /Patient/{id}/_history name: getpatienthistory operations: - method: GET name: getpatienthistory description: Orion Health Get patient version history call: orion.getpatienthistory outputParameters: - type: object mapping: $. - path: /Encounter name: searchencounters operations: - method: GET name: searchencounters description: Orion Health Search for encounters call: orion.searchencounters outputParameters: - type: object mapping: $. - path: /Encounter/{id} name: getencounter operations: - method: GET name: getencounter description: Orion Health Read an encounter by ID call: orion.getencounter outputParameters: - type: object mapping: $. - path: /Observation name: searchobservations operations: - method: GET name: searchobservations description: Orion Health Search for observations call: orion.searchobservations outputParameters: - type: object mapping: $. - path: /Observation name: createobservation operations: - method: POST name: createobservation description: Orion Health Create a new observation call: orion.createobservation outputParameters: - type: object mapping: $. - path: /Observation/{id} name: getobservation operations: - method: GET name: getobservation description: Orion Health Read an observation by ID call: orion.getobservation outputParameters: - type: object mapping: $. - path: /Condition name: searchconditions operations: - method: GET name: searchconditions description: Orion Health Search for conditions call: orion.searchconditions outputParameters: - type: object mapping: $. - path: /Condition/{id} name: getcondition operations: - method: GET name: getcondition description: Orion Health Read a condition by ID call: orion.getcondition outputParameters: - type: object mapping: $. - path: /MedicationRequest name: searchmedicationrequests operations: - method: GET name: searchmedicationrequests description: Orion Health Search for medication requests call: orion.searchmedicationrequests outputParameters: - type: object mapping: $. - path: /MedicationRequest/{id} name: getmedicationrequest operations: - method: GET name: getmedicationrequest description: Orion Health Read a medication request by ID call: orion.getmedicationrequest outputParameters: - type: object mapping: $. - path: /AllergyIntolerance name: searchallergyintolerances operations: - method: GET name: searchallergyintolerances description: Orion Health Search for allergy intolerances call: orion.searchallergyintolerances outputParameters: - type: object mapping: $. - path: /AllergyIntolerance/{id} name: getallergyintolerance operations: - method: GET name: getallergyintolerance description: Orion Health Read an allergy intolerance by ID call: orion.getallergyintolerance outputParameters: - type: object mapping: $. - path: /Procedure name: searchprocedures operations: - method: GET name: searchprocedures description: Orion Health Search for procedures call: orion.searchprocedures outputParameters: - type: object mapping: $. - path: /Procedure/{id} name: getprocedure operations: - method: GET name: getprocedure description: Orion Health Read a procedure by ID call: orion.getprocedure outputParameters: - type: object mapping: $. - path: /DiagnosticReport name: searchdiagnosticreports operations: - method: GET name: searchdiagnosticreports description: Orion Health Search for diagnostic reports call: orion.searchdiagnosticreports outputParameters: - type: object mapping: $. - path: /DiagnosticReport/{id} name: getdiagnosticreport operations: - method: GET name: getdiagnosticreport description: Orion Health Read a diagnostic report by ID call: orion.getdiagnosticreport outputParameters: - type: object mapping: $. - path: /CarePlan name: searchcareplans operations: - method: GET name: searchcareplans description: Orion Health Search for care plans call: orion.searchcareplans outputParameters: - type: object mapping: $. - path: /CarePlan/{id} name: getcareplan operations: - method: GET name: getcareplan description: Orion Health Read a care plan by ID call: orion.getcareplan outputParameters: - type: object mapping: $. - path: /Immunization name: searchimmunizations operations: - method: GET name: searchimmunizations description: Orion Health Search for immunizations call: orion.searchimmunizations outputParameters: - type: object mapping: $. - path: /Immunization/{id} name: getimmunization operations: - method: GET name: getimmunization description: Orion Health Read an immunization by ID call: orion.getimmunization outputParameters: - type: object mapping: $. - path: /DocumentReference name: searchdocumentreferences operations: - method: GET name: searchdocumentreferences description: Orion Health Search for document references call: orion.searchdocumentreferences outputParameters: - type: object mapping: $. - path: /DocumentReference/{id} name: getdocumentreference operations: - method: GET name: getdocumentreference description: Orion Health Read a document reference by ID call: orion.getdocumentreference outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: orion-mcp transport: http description: MCP adapter for Orion Health FHIR API for AI agent use. tools: - name: getcapabilitystatement description: Orion Health Get server capability statement hints: readOnly: true destructive: false idempotent: true call: orion.getcapabilitystatement outputParameters: - type: object mapping: $. - name: searchpatients description: Orion Health Search for patients hints: readOnly: true destructive: false idempotent: true call: orion.searchpatients with: _id: tools._id identifier: tools.identifier family: tools.family given: tools.given name: tools.name birthdate: tools.birthdate gender: tools.gender address: tools.address telecom: tools.telecom inputParameters: - name: _id type: string description: Logical ID of the patient resource - name: identifier type: string description: Patient identifier (e.g., MRN, SSN) in format system|value - name: family type: string description: Family (last) name of the patient - name: given type: string description: Given (first) name of the patient - name: name type: string description: Any part of the patient name - name: birthdate type: string description: Patient date of birth (YYYY-MM-DD) - name: gender type: string description: Patient gender - name: address type: string description: Any part of the patient address - name: telecom type: string description: Patient phone number or email outputParameters: - type: object mapping: $. - name: createpatient description: Orion Health Create a new patient hints: readOnly: false destructive: false idempotent: false call: orion.createpatient outputParameters: - type: object mapping: $. - name: getpatient description: Orion Health Read a patient by ID hints: readOnly: true destructive: false idempotent: true call: orion.getpatient outputParameters: - type: object mapping: $. - name: updatepatient description: Orion Health Update a patient hints: readOnly: false destructive: false idempotent: true call: orion.updatepatient outputParameters: - type: object mapping: $. - name: getpatienthistory description: Orion Health Get patient version history hints: readOnly: true destructive: false idempotent: true call: orion.getpatienthistory outputParameters: - type: object mapping: $. - name: searchencounters description: Orion Health Search for encounters hints: readOnly: true destructive: false idempotent: true call: orion.searchencounters with: patient: tools.patient date: tools.date status: tools.status class: tools.class type: tools.type inputParameters: - name: patient type: string description: Reference to the patient - name: date type: string description: Encounter date or date range - name: status type: string description: Encounter status - name: class type: string description: Classification of the encounter (e.g., ambulatory, inpatient) - name: type type: string description: Specific type of encounter outputParameters: - type: object mapping: $. - name: getencounter description: Orion Health Read an encounter by ID hints: readOnly: true destructive: false idempotent: true call: orion.getencounter outputParameters: - type: object mapping: $. - name: searchobservations description: Orion Health Search for observations hints: readOnly: true destructive: false idempotent: true call: orion.searchobservations with: patient: tools.patient category: tools.category code: tools.code date: tools.date status: tools.status inputParameters: - name: patient type: string description: Reference to the patient - name: category type: string description: Observation category (e.g., vital-signs, laboratory) - name: code type: string description: LOINC or SNOMED code for the observation - name: date type: string description: Observation date or date range - name: status type: string description: Observation status outputParameters: - type: object mapping: $. - name: createobservation description: Orion Health Create a new observation hints: readOnly: false destructive: false idempotent: false call: orion.createobservation outputParameters: - type: object mapping: $. - name: getobservation description: Orion Health Read an observation by ID hints: readOnly: true destructive: false idempotent: true call: orion.getobservation outputParameters: - type: object mapping: $. - name: searchconditions description: Orion Health Search for conditions hints: readOnly: true destructive: false idempotent: true call: orion.searchconditions with: patient: tools.patient code: tools.code clinical-status: tools.clinical-status category: tools.category onset-date: tools.onset-date inputParameters: - name: patient type: string description: Reference to the patient - name: code type: string description: ICD-10 or SNOMED code for the condition - name: clinical-status type: string description: Clinical status of the condition - name: category type: string description: Condition category - name: onset-date type: string description: Date of onset outputParameters: - type: object mapping: $. - name: getcondition description: Orion Health Read a condition by ID hints: readOnly: true destructive: false idempotent: true call: orion.getcondition outputParameters: - type: object mapping: $. - name: searchmedicationrequests description: Orion Health Search for medication requests hints: readOnly: true destructive: false idempotent: true call: orion.searchmedicationrequests with: patient: tools.patient status: tools.status intent: tools.intent authoredon: tools.authoredon inputParameters: - name: patient type: string description: Reference to the patient - name: status type: string description: Prescription status - name: intent type: string description: Kind of medication request - name: authoredon type: string description: Date the prescription was written outputParameters: - type: object mapping: $. - name: getmedicationrequest description: Orion Health Read a medication request by ID hints: readOnly: true destructive: false idempotent: true call: orion.getmedicationrequest outputParameters: - type: object mapping: $. - name: searchallergyintolerances description: Orion Health Search for allergy intolerances hints: readOnly: true destructive: false idempotent: true call: orion.searchallergyintolerances with: patient: tools.patient clinical-status: tools.clinical-status type: tools.type criticality: tools.criticality inputParameters: - name: patient type: string description: Reference to the patient - name: clinical-status type: string description: Clinical status of the allergy - name: type type: string description: allergy or intolerance - name: criticality type: string description: Criticality level outputParameters: - type: object mapping: $. - name: getallergyintolerance description: Orion Health Read an allergy intolerance by ID hints: readOnly: true destructive: false idempotent: true call: orion.getallergyintolerance outputParameters: - type: object mapping: $. - name: searchprocedures description: Orion Health Search for procedures hints: readOnly: true destructive: false idempotent: true call: orion.searchprocedures with: patient: tools.patient code: tools.code date: tools.date status: tools.status inputParameters: - name: patient type: string description: Reference to the patient - name: code type: string description: CPT or SNOMED code for the procedure - name: date type: string description: Procedure date or date range - name: status type: string description: Procedure status outputParameters: - type: object mapping: $. - name: getprocedure description: Orion Health Read a procedure by ID hints: readOnly: true destructive: false idempotent: true call: orion.getprocedure outputParameters: - type: object mapping: $. - name: searchdiagnosticreports description: Orion Health Search for diagnostic reports hints: readOnly: true destructive: false idempotent: true call: orion.searchdiagnosticreports with: patient: tools.patient category: tools.category code: tools.code date: tools.date status: tools.status inputParameters: - name: patient type: string description: Reference to the patient - name: category type: string description: Report category (e.g., LAB, RAD) - name: code type: string description: LOINC code for the report - name: date type: string description: Report date or date range - name: status type: string description: Report status outputParameters: - type: object mapping: $. - name: getdiagnosticreport description: Orion Health Read a diagnostic report by ID hints: readOnly: true destructive: false idempotent: true call: orion.getdiagnosticreport outputParameters: - type: object mapping: $. - name: searchcareplans description: Orion Health Search for care plans hints: readOnly: true destructive: false idempotent: true call: orion.searchcareplans with: patient: tools.patient status: tools.status category: tools.category date: tools.date inputParameters: - name: patient type: string description: Reference to the patient - name: status type: string description: Care plan status - name: category type: string description: Type of care plan - name: date type: string description: Care plan period outputParameters: - type: object mapping: $. - name: getcareplan description: Orion Health Read a care plan by ID hints: readOnly: true destructive: false idempotent: true call: orion.getcareplan outputParameters: - type: object mapping: $. - name: searchimmunizations description: Orion Health Search for immunizations hints: readOnly: true destructive: false idempotent: true call: orion.searchimmunizations with: patient: tools.patient date: tools.date vaccine-code: tools.vaccine-code status: tools.status inputParameters: - name: patient type: string description: Reference to the patient - name: date type: string description: Vaccination date or date range - name: vaccine-code type: string description: CVX code for the vaccine - name: status type: string description: Immunization status outputParameters: - type: object mapping: $. - name: getimmunization description: Orion Health Read an immunization by ID hints: readOnly: true destructive: false idempotent: true call: orion.getimmunization outputParameters: - type: object mapping: $. - name: searchdocumentreferences description: Orion Health Search for document references hints: readOnly: true destructive: false idempotent: true call: orion.searchdocumentreferences with: patient: tools.patient type: tools.type category: tools.category date: tools.date status: tools.status inputParameters: - name: patient type: string description: Reference to the patient - name: type type: string description: Document type code - name: category type: string description: Document category - name: date type: string description: Document date or date range - name: status type: string description: Document status outputParameters: - type: object mapping: $. - name: getdocumentreference description: Orion Health Read a document reference by ID hints: readOnly: true destructive: false idempotent: true call: orion.getdocumentreference outputParameters: - type: object mapping: $. binds: - namespace: env keys: ORION_TOKEN: ORION_TOKEN