Orthovision AI FHIR Implementation Guide
0.2.0 - ci-build

Orthovision AI FHIR Implementation Guide - Local Development build (v0.2.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Orthovision AI Task

Official URL: http://medoco.health/fhir/StructureDefinition/orthovision-ai-task Version: 0.2.0
Active as of 2025-10-29 Computable Name: OrthovisionAITask

This profile represents a task for the Orthovision AI service to infer proper DICOM tags.

Scope and Usage

The OrthovisionAITask profile implements asynchronous processing patterns essential for AI-powered image classification. AI processing can take significant time (seconds to minutes depending on model complexity and system load), making synchronous APIs impractical for healthcare workflows.

This profile provides:

Progress Tracking: Real-time visibility into processing stages through standard FHIR Task status values and human-readable businessStatus updates.

Result Management: Upon completion, the task output contains references to 1 or more Observation resources with complete classification results.

Error Handling: Failed tasks provide detailed error information through standard FHIR mechanisms.

AI System Traceability: Complete identification and tracking of the AI system that performed the classification through the PerformerDevice extension.

Device Performer Tracking

This profile uses the PerformerDevice extension to track which specific AI system performed each classification task. This extension addresses the gap between FHIR R4/R5 capabilities and the upcoming R6 native device performer support, ensuring complete audit trails and AI system traceability essential for healthcare workflows.

See the PerformerDevice extension documentation for detailed implementation guidance and FHIR version compatibility information.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1, tsk-1, task-input-output-match
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:performerDevice S 0..1 (Complex) Performer Device Extension
URL: http://medoco.health/fhir/StructureDefinition/performer-device
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://medoco.health/fhir/StructureDefinition/performer-device"
..... value[x] 0..1 Reference(Orthovision AI Model) Value of extension
... status ?!SΣ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... intent Σ 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.
Required Pattern: order
... doNotPerform ?!Σ 0..1 boolean True if Task is prohibiting action
Required Pattern: false
... focus SΣC 1..1 Reference(Orthovision AI Binary) What task is acting on
... requestedPerformer S 0..1 CodeableReference(Orthovision AI Model) Who should perform Task
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
... Slices for input S 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by type:value
.... input:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 Content to use in performing the task
...... valueBase64Binary base64Binary
...... valueBoolean boolean
...... valueCanonical canonical(Any)
...... valueCode code
...... valueDate date
...... valueDateTime dateTime
...... valueDecimal decimal
...... valueId id
...... valueInstant instant
...... valueInteger integer
...... valueInteger64 integer64
...... valueMarkdown markdown
...... valueOid oid
...... valuePositiveInt positiveInt
...... valueString string
...... valueTime time
...... valueUnsignedInt unsignedInt
...... valueUri uri
...... valueUrl url
...... valueUuid uuid
...... valueAddress Address
...... valueAge Age
...... valueAnnotation Annotation
...... valueAttachment Attachment
...... valueCodeableConcept CodeableConcept
...... valueCodeableReference CodeableReference
...... valueCoding Coding
...... valueContactPoint ContactPoint
...... valueCount Count
...... valueDistance Distance
...... valueDuration Duration
...... valueHumanName HumanName
...... valueIdentifier Identifier
...... valueMoney Money
...... valuePeriod Period
...... valueQuantity Quantity
...... valueRange Range
...... valueRatio Ratio
...... valueRatioRange RatioRange
...... valueReference Reference(Any)
...... valueSampledData SampledData
...... valueSignature Signature
...... valueTiming Timing
...... valueContactDetail ContactDetail
...... valueDataRequirement DataRequirement
...... valueExpression Expression
...... valueParameterDefinition ParameterDefinition
...... valueRelatedArtifact RelatedArtifact
...... valueTriggerDefinition TriggerDefinition
...... valueUsageContext UsageContext
...... valueAvailability Availability
...... valueExtendedContactDetail ExtendedContactDetail
...... valueDosage Dosage
...... valueMeta Meta
.... input:imagingStudy S 0..1 BackboneElement Information used to perform task
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 Reference(ImagingStudy) Content to use in performing the task
.... input:tagDICOM S 1..* BackboneElement Information used to perform task
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 string Content to use in performing the task
... output S 1..* BackboneElement Information produced as part of task
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
.... value[x] 1..1 Reference(OrthovisionAI Observation) Result of output

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.status Base required Task Status 📍5.0.0 FHIR Std.
Task.intent Base required Task Intent 📍5.0.0 FHIR Std.
Task.requestedPerformer Base preferred Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Task.input.type Base example Not Stated Unknown
Task.input:imagingStudy.​type Base example Not Stated Unknown
Task.input:tagDICOM.​type Base example Not Stated Unknown
Task.output.type Base example Not Stated Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Task If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Task If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Task If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Task If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Task A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error Task Last modified date must be greater than or equal to authored-on date. lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
task-input-output-match error Task Number of output observations must match number of input DICOM tags input.where(type.coding.exists(system='http://hl7.org/fhir/task-input-type' and code='tagDICOM')).count() = output.count()
tsk-1 error Task Task.restriction is only allowed if the Task is seeking fulfillment and a focus is specified. restriction.exists() implies code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and focus.exists()

This structure is derived from Task

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: task-input-output-match
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:performerDevice S 0..1 (Complex) Performer Device Extension
URL: http://medoco.health/fhir/StructureDefinition/performer-device
..... value[x] 0..1 Reference(Orthovision AI Model) Value of extension
... status S 1..1 code draft | requested | received | accepted | +
... intent 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Required Pattern: order
... code
.... coding
..... system 0..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/CodeSystem/task-code
..... code 0..1 code Symbol in syntax defined by the system
Required Pattern: fulfill
... focus S 1..1 Reference(Orthovision AI Binary) What task is acting on
... requestedPerformer S 0..1 CodeableReference(Orthovision AI Model) Who should perform Task
... Slices for input S 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by type:value
.... input:imagingStudy S 0..1 BackboneElement Information used to perform task
..... value[x] 1..1 Reference(ImagingStudy) Content to use in performing the task
.... input:tagDICOM S 1..* BackboneElement Information used to perform task
..... value[x] 1..1 string Content to use in performing the task
... output S 1..* BackboneElement Information produced as part of task
.... value[x] 1..1 Reference(OrthovisionAI Observation) Result of output

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
task-input-output-match error Task Number of output observations must match number of input DICOM tags input.where(type.coding.exists(system='http://hl7.org/fhir/task-input-type' and code='tagDICOM')).count() = output.count()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1, tsk-1, task-input-output-match
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:performerDevice S 0..1 (Complex) Performer Device Extension
URL: http://medoco.health/fhir/StructureDefinition/performer-device
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://medoco.health/fhir/StructureDefinition/performer-device"
..... value[x] 0..1 Reference(Orthovision AI Model) Value of extension
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier Task Instance Identifier
... instantiatesCanonical Σ 0..1 canonical(ActivityDefinition) Formal definition of task
... instantiatesUri Σ 0..1 uri Formal definition of task
... basedOn Σ 0..* Reference(Resource) Request fulfilled by this task
... groupIdentifier Σ 0..1 Identifier Requisition or grouper id
... partOf Σ 0..* Reference(Task) Composite task
... status ?!SΣ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... statusReason Σ 0..1 CodeableReference() Reason for current status
Binding: TaskStatusReason (example): Codes to identify the reason for current status. These will typically be specific to a particular workflow.
... businessStatus Σ 0..1 CodeableConcept E.g. "Specimen collected", "IV prepped"
Binding Description: (example): The domain-specific business-contextual sub-state of the task. For example: "Blood drawn", "IV inserted", "Awaiting physician signature", etc.
... intent Σ 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.
Required Pattern: order
... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The priority of a task (may affect service level applied to the task).
... doNotPerform ?!Σ 0..1 boolean True if Task is prohibiting action
Required Pattern: false
... code ΣC 0..1 CodeableConcept Task Type
Binding: TaskCode (example): Codes to identify what the task involves. These will typically be specific to a particular workflow.
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 0..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/CodeSystem/task-code
..... version Σ 0..1 string Version of the system - if relevant
..... code ΣC 0..1 code Symbol in syntax defined by the system
Required Pattern: fulfill
..... display ΣC 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... description Σ 0..1 string Human-readable explanation of task
... focus SΣC 1..1 Reference(Orthovision AI Binary) What task is acting on
... for Σ 0..1 Reference(Resource) Beneficiary of the Task
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... requestedPeriod Σ 0..1 Period When the task should be performed
... executionPeriod Σ 0..1 Period Start and end time of execution
... authoredOn C 0..1 dateTime Task Creation Date
... lastModified ΣC 0..1 dateTime Task Last Modified Date
... requester Σ 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who is asking for task to be done
... requestedPerformer S 0..1 CodeableReference(Orthovision AI Model) Who should perform Task
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
... owner Σ 0..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Responsible individual
... performer Σ 0..* BackboneElement Who or what performed the task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function Σ 0..1 CodeableConcept Type of performance
Binding Description: (example): Codes to identify types of task performers.
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who performed the task
... location Σ 0..1 Reference(Location) Where task occurs
... reason 0..* CodeableReference() Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... note 0..* Annotation Comments made about the task
... relevantHistory 0..* Reference(Provenance) Key events in history of the Task
... restriction C 0..1 BackboneElement Constraints on fulfillment tasks
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repetitions 0..1 positiveInt How many times to repeat
.... period 0..1 Period When fulfillment is sought
.... recipient 0..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization) For whom is fulfillment sought?
... Slices for input S 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by type:value
.... input:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 Content to use in performing the task
...... valueBase64Binary base64Binary
...... valueBoolean boolean
...... valueCanonical canonical(Any)
...... valueCode code
...... valueDate date
...... valueDateTime dateTime
...... valueDecimal decimal
...... valueId id
...... valueInstant instant
...... valueInteger integer
...... valueInteger64 integer64
...... valueMarkdown markdown
...... valueOid oid
...... valuePositiveInt positiveInt
...... valueString string
...... valueTime time
...... valueUnsignedInt unsignedInt
...... valueUri uri
...... valueUrl url
...... valueUuid uuid
...... valueAddress Address
...... valueAge Age
...... valueAnnotation Annotation
...... valueAttachment Attachment
...... valueCodeableConcept CodeableConcept
...... valueCodeableReference CodeableReference
...... valueCoding Coding
...... valueContactPoint ContactPoint
...... valueCount Count
...... valueDistance Distance
...... valueDuration Duration
...... valueHumanName HumanName
...... valueIdentifier Identifier
...... valueMoney Money
...... valuePeriod Period
...... valueQuantity Quantity
...... valueRange Range
...... valueRatio Ratio
...... valueRatioRange RatioRange
...... valueReference Reference(Any)
...... valueSampledData SampledData
...... valueSignature Signature
...... valueTiming Timing
...... valueContactDetail ContactDetail
...... valueDataRequirement DataRequirement
...... valueExpression Expression
...... valueParameterDefinition ParameterDefinition
...... valueRelatedArtifact RelatedArtifact
...... valueTriggerDefinition TriggerDefinition
...... valueUsageContext UsageContext
...... valueAvailability Availability
...... valueExtendedContactDetail ExtendedContactDetail
...... valueDosage Dosage
...... valueMeta Meta
.... input:imagingStudy S 0..1 BackboneElement Information used to perform task
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 Reference(ImagingStudy) Content to use in performing the task
.... input:tagDICOM S 1..* BackboneElement Information used to perform task
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 string Content to use in performing the task
... output S 1..* BackboneElement Information produced as part of task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
.... value[x] 1..1 Reference(OrthovisionAI Observation) Result of output

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.language Base required All Languages 📍5.0.0 FHIR Std.
Task.status Base required Task Status 📍5.0.0 FHIR Std.
Task.statusReason Base example Task Status Reason 📍5.0.0 FHIR Std.
Task.businessStatus Base example Not Stated Unknown
Task.intent Base required Task Intent 📍5.0.0 FHIR Std.
Task.priority Base required RequestPriority 📍5.0.0 FHIR Std.
Task.code Base example Task Codes 📍5.0.0 FHIR Std.
Task.requestedPerformer Base preferred Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Task.performer.function Base example Not Stated Unknown
Task.reason Base example Not Stated Unknown
Task.input.type Base example Not Stated Unknown
Task.input:imagingStudy.​type Base example Not Stated Unknown
Task.input:tagDICOM.​type Base example Not Stated Unknown
Task.output.type Base example Not Stated Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Task If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Task If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Task If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Task If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Task A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error Task Last modified date must be greater than or equal to authored-on date. lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
task-input-output-match error Task Number of output observations must match number of input DICOM tags input.where(type.coding.exists(system='http://hl7.org/fhir/task-input-type' and code='tagDICOM')).count() = output.count()
tsk-1 error Task Task.restriction is only allowed if the Task is seeking fulfillment and a focus is specified. restriction.exists() implies code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and focus.exists()

This structure is derived from Task

Summary

Mandatory: 4 elements
Must-Support: 8 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Task.input

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1, tsk-1, task-input-output-match
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:performerDevice S 0..1 (Complex) Performer Device Extension
URL: http://medoco.health/fhir/StructureDefinition/performer-device
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://medoco.health/fhir/StructureDefinition/performer-device"
..... value[x] 0..1 Reference(Orthovision AI Model) Value of extension
... status ?!SΣ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... intent Σ 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.
Required Pattern: order
... doNotPerform ?!Σ 0..1 boolean True if Task is prohibiting action
Required Pattern: false
... focus SΣC 1..1 Reference(Orthovision AI Binary) What task is acting on
... requestedPerformer S 0..1 CodeableReference(Orthovision AI Model) Who should perform Task
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
... Slices for input S 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by type:value
.... input:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 Content to use in performing the task
...... valueBase64Binary base64Binary
...... valueBoolean boolean
...... valueCanonical canonical(Any)
...... valueCode code
...... valueDate date
...... valueDateTime dateTime
...... valueDecimal decimal
...... valueId id
...... valueInstant instant
...... valueInteger integer
...... valueInteger64 integer64
...... valueMarkdown markdown
...... valueOid oid
...... valuePositiveInt positiveInt
...... valueString string
...... valueTime time
...... valueUnsignedInt unsignedInt
...... valueUri uri
...... valueUrl url
...... valueUuid uuid
...... valueAddress Address
...... valueAge Age
...... valueAnnotation Annotation
...... valueAttachment Attachment
...... valueCodeableConcept CodeableConcept
...... valueCodeableReference CodeableReference
...... valueCoding Coding
...... valueContactPoint ContactPoint
...... valueCount Count
...... valueDistance Distance
...... valueDuration Duration
...... valueHumanName HumanName
...... valueIdentifier Identifier
...... valueMoney Money
...... valuePeriod Period
...... valueQuantity Quantity
...... valueRange Range
...... valueRatio Ratio
...... valueRatioRange RatioRange
...... valueReference Reference(Any)
...... valueSampledData SampledData
...... valueSignature Signature
...... valueTiming Timing
...... valueContactDetail ContactDetail
...... valueDataRequirement DataRequirement
...... valueExpression Expression
...... valueParameterDefinition ParameterDefinition
...... valueRelatedArtifact RelatedArtifact
...... valueTriggerDefinition TriggerDefinition
...... valueUsageContext UsageContext
...... valueAvailability Availability
...... valueExtendedContactDetail ExtendedContactDetail
...... valueDosage Dosage
...... valueMeta Meta
.... input:imagingStudy S 0..1 BackboneElement Information used to perform task
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 Reference(ImagingStudy) Content to use in performing the task
.... input:tagDICOM S 1..* BackboneElement Information used to perform task
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 string Content to use in performing the task
... output S 1..* BackboneElement Information produced as part of task
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
.... value[x] 1..1 Reference(OrthovisionAI Observation) Result of output

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.status Base required Task Status 📍5.0.0 FHIR Std.
Task.intent Base required Task Intent 📍5.0.0 FHIR Std.
Task.requestedPerformer Base preferred Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Task.input.type Base example Not Stated Unknown
Task.input:imagingStudy.​type Base example Not Stated Unknown
Task.input:tagDICOM.​type Base example Not Stated Unknown
Task.output.type Base example Not Stated Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Task If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Task If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Task If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Task If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Task A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error Task Last modified date must be greater than or equal to authored-on date. lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
task-input-output-match error Task Number of output observations must match number of input DICOM tags input.where(type.coding.exists(system='http://hl7.org/fhir/task-input-type' and code='tagDICOM')).count() = output.count()
tsk-1 error Task Task.restriction is only allowed if the Task is seeking fulfillment and a focus is specified. restriction.exists() implies code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and focus.exists()

Differential View

This structure is derived from Task

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: task-input-output-match
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:performerDevice S 0..1 (Complex) Performer Device Extension
URL: http://medoco.health/fhir/StructureDefinition/performer-device
..... value[x] 0..1 Reference(Orthovision AI Model) Value of extension
... status S 1..1 code draft | requested | received | accepted | +
... intent 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Required Pattern: order
... code
.... coding
..... system 0..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/CodeSystem/task-code
..... code 0..1 code Symbol in syntax defined by the system
Required Pattern: fulfill
... focus S 1..1 Reference(Orthovision AI Binary) What task is acting on
... requestedPerformer S 0..1 CodeableReference(Orthovision AI Model) Who should perform Task
... Slices for input S 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by type:value
.... input:imagingStudy S 0..1 BackboneElement Information used to perform task
..... value[x] 1..1 Reference(ImagingStudy) Content to use in performing the task
.... input:tagDICOM S 1..* BackboneElement Information used to perform task
..... value[x] 1..1 string Content to use in performing the task
... output S 1..* BackboneElement Information produced as part of task
.... value[x] 1..1 Reference(OrthovisionAI Observation) Result of output

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
task-input-output-match error Task Number of output observations must match number of input DICOM tags input.where(type.coding.exists(system='http://hl7.org/fhir/task-input-type' and code='tagDICOM')).count() = output.count()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Task C 0..* Task A task to be performed
Constraints: inv-1, tsk-1, task-input-output-match
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:performerDevice S 0..1 (Complex) Performer Device Extension
URL: http://medoco.health/fhir/StructureDefinition/performer-device
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://medoco.health/fhir/StructureDefinition/performer-device"
..... value[x] 0..1 Reference(Orthovision AI Model) Value of extension
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier Task Instance Identifier
... instantiatesCanonical Σ 0..1 canonical(ActivityDefinition) Formal definition of task
... instantiatesUri Σ 0..1 uri Formal definition of task
... basedOn Σ 0..* Reference(Resource) Request fulfilled by this task
... groupIdentifier Σ 0..1 Identifier Requisition or grouper id
... partOf Σ 0..* Reference(Task) Composite task
... status ?!SΣ 1..1 code draft | requested | received | accepted | +
Binding: TaskStatus (required): The current status of the task.
... statusReason Σ 0..1 CodeableReference() Reason for current status
Binding: TaskStatusReason (example): Codes to identify the reason for current status. These will typically be specific to a particular workflow.
... businessStatus Σ 0..1 CodeableConcept E.g. "Specimen collected", "IV prepped"
Binding Description: (example): The domain-specific business-contextual sub-state of the task. For example: "Blood drawn", "IV inserted", "Awaiting physician signature", etc.
... intent Σ 1..1 code unknown | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: TaskIntent (required): Distinguishes whether the task is a proposal, plan or full order.
Required Pattern: order
... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): The priority of a task (may affect service level applied to the task).
... doNotPerform ?!Σ 0..1 boolean True if Task is prohibiting action
Required Pattern: false
... code ΣC 0..1 CodeableConcept Task Type
Binding: TaskCode (example): Codes to identify what the task involves. These will typically be specific to a particular workflow.
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 0..1 uri Identity of the terminology system
Required Pattern: http://hl7.org/fhir/CodeSystem/task-code
..... version Σ 0..1 string Version of the system - if relevant
..... code ΣC 0..1 code Symbol in syntax defined by the system
Required Pattern: fulfill
..... display ΣC 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... description Σ 0..1 string Human-readable explanation of task
... focus SΣC 1..1 Reference(Orthovision AI Binary) What task is acting on
... for Σ 0..1 Reference(Resource) Beneficiary of the Task
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this task originated
... requestedPeriod Σ 0..1 Period When the task should be performed
... executionPeriod Σ 0..1 Period Start and end time of execution
... authoredOn C 0..1 dateTime Task Creation Date
... lastModified ΣC 0..1 dateTime Task Last Modified Date
... requester Σ 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who is asking for task to be done
... requestedPerformer S 0..1 CodeableReference(Orthovision AI Model) Who should perform Task
Binding: ProcedurePerformerRoleCodes (preferred): The type(s) of task performers allowed.
... owner Σ 0..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Responsible individual
... performer Σ 0..* BackboneElement Who or what performed the task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function Σ 0..1 CodeableConcept Type of performance
Binding Description: (example): Codes to identify types of task performers.
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who performed the task
... location Σ 0..1 Reference(Location) Where task occurs
... reason 0..* CodeableReference() Why task is needed
Binding Description: (example): Indicates why the task is needed. E.g. Suspended because patient admitted to hospital.
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... note 0..* Annotation Comments made about the task
... relevantHistory 0..* Reference(Provenance) Key events in history of the Task
... restriction C 0..1 BackboneElement Constraints on fulfillment tasks
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... repetitions 0..1 positiveInt How many times to repeat
.... period 0..1 Period When fulfillment is sought
.... recipient 0..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization) For whom is fulfillment sought?
... Slices for input S 1..* BackboneElement Information used to perform task
Slice: Unordered, Open by type:value
.... input:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 Content to use in performing the task
...... valueBase64Binary base64Binary
...... valueBoolean boolean
...... valueCanonical canonical(Any)
...... valueCode code
...... valueDate date
...... valueDateTime dateTime
...... valueDecimal decimal
...... valueId id
...... valueInstant instant
...... valueInteger integer
...... valueInteger64 integer64
...... valueMarkdown markdown
...... valueOid oid
...... valuePositiveInt positiveInt
...... valueString string
...... valueTime time
...... valueUnsignedInt unsignedInt
...... valueUri uri
...... valueUrl url
...... valueUuid uuid
...... valueAddress Address
...... valueAge Age
...... valueAnnotation Annotation
...... valueAttachment Attachment
...... valueCodeableConcept CodeableConcept
...... valueCodeableReference CodeableReference
...... valueCoding Coding
...... valueContactPoint ContactPoint
...... valueCount Count
...... valueDistance Distance
...... valueDuration Duration
...... valueHumanName HumanName
...... valueIdentifier Identifier
...... valueMoney Money
...... valuePeriod Period
...... valueQuantity Quantity
...... valueRange Range
...... valueRatio Ratio
...... valueRatioRange RatioRange
...... valueReference Reference(Any)
...... valueSampledData SampledData
...... valueSignature Signature
...... valueTiming Timing
...... valueContactDetail ContactDetail
...... valueDataRequirement DataRequirement
...... valueExpression Expression
...... valueParameterDefinition ParameterDefinition
...... valueRelatedArtifact RelatedArtifact
...... valueTriggerDefinition TriggerDefinition
...... valueUsageContext UsageContext
...... valueAvailability Availability
...... valueExtendedContactDetail ExtendedContactDetail
...... valueDosage Dosage
...... valueMeta Meta
.... input:imagingStudy S 0..1 BackboneElement Information used to perform task
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 Reference(ImagingStudy) Content to use in performing the task
.... input:tagDICOM S 1..* BackboneElement Information used to perform task
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConcept Label for the input
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc.
..... value[x] 1..1 string Content to use in performing the task
... output S 1..* BackboneElement Information produced as part of task
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 1..1 CodeableConcept Label for output
Binding Description: (example): Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc.
.... value[x] 1..1 Reference(OrthovisionAI Observation) Result of output

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Task.language Base required All Languages 📍5.0.0 FHIR Std.
Task.status Base required Task Status 📍5.0.0 FHIR Std.
Task.statusReason Base example Task Status Reason 📍5.0.0 FHIR Std.
Task.businessStatus Base example Not Stated Unknown
Task.intent Base required Task Intent 📍5.0.0 FHIR Std.
Task.priority Base required RequestPriority 📍5.0.0 FHIR Std.
Task.code Base example Task Codes 📍5.0.0 FHIR Std.
Task.requestedPerformer Base preferred Procedure Performer Role Codes 📍5.0.0 FHIR Std.
Task.performer.function Base example Not Stated Unknown
Task.reason Base example Not Stated Unknown
Task.input.type Base example Not Stated Unknown
Task.input:imagingStudy.​type Base example Not Stated Unknown
Task.input:tagDICOM.​type Base example Not Stated Unknown
Task.output.type Base example Not Stated Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Task If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Task If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Task If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Task If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Task A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error Task Last modified date must be greater than or equal to authored-on date. lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn
task-input-output-match error Task Number of output observations must match number of input DICOM tags input.where(type.coding.exists(system='http://hl7.org/fhir/task-input-type' and code='tagDICOM')).count() = output.count()
tsk-1 error Task Task.restriction is only allowed if the Task is seeking fulfillment and a focus is specified. restriction.exists() implies code.coding.where(code='fulfill' and system='http://hl7.org/fhir/CodeSystem/task-code').exists() and focus.exists()

This structure is derived from Task

Summary

Mandatory: 4 elements
Must-Support: 8 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Task.input

 

Other representations of profile: CSV, Excel, Schematron