arazzo: 1.0.1
info:
title: Cerner Oracle Health Clinical Resource Write-Back
summary: Locate a patient, create a FHIR resource against that patient, then update it by id.
description: >-
A FHIR R4 write-back flow against the Cerner / Oracle Health API. The patient
is located first so the new resource can reference it, a clinical resource is
created with the generic resource-type create operation, and the same resource
is then updated by id. This is the basis for documenting back into the EHR
(for example creating an Observation or DocumentReference). Every step inlines
its request so the flow is self-contained.
version: 1.0.0
x-realizes-capability-ids:
- BC-2800.20
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-2800.20
capability_name: Patient Registration Management
spec: cerner-patient-api-openapi.yml
confidence: 0.7
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: genericApi
url: ../openapi/cerner-generic-api-openapi.yml
type: openapi
- name: patientApi
url: ../openapi/cerner-patient-api-openapi.yml
type: openapi
workflows:
- workflowId: clinical-resource-write-back
summary: Create and then update a FHIR resource for a located patient.
description: >-
Finds the patient, creates a FHIR resource of the given type, and updates it by
id.
inputs:
type: object
required:
- patientName
- resourceType
- resource
- updatedResource
properties:
patientName:
type: string
description: Patient name used to locate the patient the resource will reference.
resourceType:
type: string
description: The FHIR resource type to write (e.g. Observation, DocumentReference).
resource:
type: object
description: The FHIR R4 resource body to create.
updatedResource:
type: object
description: The FHIR R4 resource body to write on update.
steps:
- stepId: findPatient
description: Locate the patient the new resource will reference.
operationId: searchPatient
parameters:
- name: name
in: query
value: $inputs.patientName
successCriteria:
- condition: $statusCode == 200
outputs:
patientId: $response.body#/entry/0/resource/id
- stepId: createResource
description: Create the clinical resource of the requested type.
operationId: createResource
parameters:
- name: resource
in: path
value: $inputs.resourceType
requestBody:
contentType: application/fhir+json
payload: $inputs.resource
successCriteria:
- condition: $statusCode == 201
outputs:
resourceId: $response.body#/id
- stepId: updateResource
description: Update the created resource by id.
operationId: updateResource
parameters:
- name: resource
in: path
value: $inputs.resourceType
- name: id
in: path
value: $steps.createResource.outputs.resourceId
requestBody:
contentType: application/fhir+json
payload: $inputs.updatedResource
successCriteria:
- condition: $statusCode == 200
outputs:
resource: $response.body
outputs:
patientId: $steps.findPatient.outputs.patientId
resourceId: $steps.createResource.outputs.resourceId
resource: $steps.updateResource.outputs.resource
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.