FoundationPublish-box (todo)
| Orders and Observations Work Group | Maturity Level: N/A | Standards Status: Informative | Compartments: No defined compartments |
ShEx statement for devicedispense
PREFIX fhir: <http://hl7.org/fhir/>
PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
IMPORT <code.shex>
IMPORT <Device.shex>
IMPORT <Patient.shex>
IMPORT <Location.shex>
IMPORT <Quantity.shex>
IMPORT <dateTime.shex>
IMPORT <markdown.shex>
IMPORT <CareTeam.shex>
IMPORT <CarePlan.shex>
IMPORT <Resource.shex>
IMPORT <Reference.shex>
IMPORT <Encounter.shex>
IMPORT <Procedure.shex>
IMPORT <Identifier.shex>
IMPORT <Annotation.shex>
IMPORT <Provenance.shex>
IMPORT <Practitioner.shex>
IMPORT <Organization.shex>
IMPORT <RelatedPerson.shex>
IMPORT <DeviceRequest.shex>
IMPORT <DomainResource.shex>
IMPORT <CodeableConcept.shex>
IMPORT <BackboneElement.shex>
IMPORT <PractitionerRole.shex>
IMPORT <CodeableReference.shex>
start=@<DeviceDispense> AND {fhir:nodeRole [fhir:treeRoot]}
# A record of dispensation of a device
<DeviceDispense> EXTENDS @<DomainResource> CLOSED {
a [fhir:DeviceDispense]?;
fhir:nodeRole [fhir:treeRoot]?;
fhir:identifier @<OneOrMore_Identifier>?; # Business identifier for this
# dispensation
fhir:basedOn @<OneOrMore_Reference_CarePlan_OR_DeviceRequest>?; # The order or request that this
# dispense is fulfilling
fhir:partOf @<OneOrMore_Reference_Procedure>?; # The bigger event that this
# dispense is a part of
fhir:status @<code> AND
{fhir:v @fhirvs:devicedispense-status}; # preparation | in-progress |
# cancelled | on-hold | completed |
# entered-in-error | stopped |
# declined | unknown
fhir:statusReason @<CodeableReference>?; # Why a dispense was or was not
# performed
fhir:category @<OneOrMore_CodeableConcept>?; # Type of device dispense
fhir:device @<CodeableReference>; # What device was supplied
fhir:subject @<Reference> AND {fhir:link
@<Patient> OR
@<Practitioner> ? }; # Who the dispense is for
fhir:receiver @<Reference> AND {fhir:link
@<Location> OR
@<Patient> OR
@<Practitioner> OR
@<PractitionerRole> OR
@<RelatedPerson> ? }?; # Who collected the device or where
# the medication was delivered
fhir:encounter @<Reference> AND {fhir:link
@<Encounter> ? }?; # Encounter associated with event
fhir:supportingInformation @<OneOrMore_Reference_Resource>?; # Information that supports the
# dispensing of the device
fhir:performer @<OneOrMore_DeviceDispense.performer>?; # Who performed event
fhir:location @<Reference> AND {fhir:link
@<Location> ? }?; # Where the dispense occurred
fhir:type @<CodeableConcept>?; # Trial fill, partial fill,
# emergency fill, etc
fhir:quantity @<Quantity>?; # Amount dispensed
fhir:preparedDate @<dateTime>?; # When product was packaged and
# reviewed
fhir:whenHandedOver @<dateTime>?; # When product was given out
fhir:destination @<Reference> AND {fhir:link
@<Location> ? }?; # Where the device was sent or
# should be sent
fhir:note @<OneOrMore_Annotation>?; # Information about the dispense
fhir:usageInstruction @<markdown>?; # Full representation of the usage
# instructions
fhir:eventHistory @<OneOrMore_Reference_Provenance>?; # A list of relevant lifecycle events
}
# Who performed event
<DeviceDispense.performer> EXTENDS @<BackboneElement> CLOSED {
fhir:function @<CodeableConcept>?; # Who performed the dispense and
# what they did
fhir:actor @<Reference> AND {fhir:link
@<CareTeam> OR
@<Device> OR
@<Organization> OR
@<Patient> OR
@<Practitioner> OR
@<PractitionerRole> OR
@<RelatedPerson> ? }; # Individual who was performing
}
#---------------------- Cardinality Types (OneOrMore) -------------------
<OneOrMore_Identifier> CLOSED {
rdf:first @<Identifier> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Identifier>
}
<OneOrMore_Reference_CarePlan_OR_DeviceRequest> CLOSED {
rdf:first @<Reference> AND {fhir:link
@<CarePlan> OR
@<DeviceRequest> } ;
rdf:rest [rdf:nil] OR @<OneOrMore_Reference_CarePlan_OR_DeviceRequest>
}
<OneOrMore_Reference_Procedure> CLOSED {
rdf:first @<Reference> AND {fhir:link
@<Procedure> } ;
rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Procedure>
}
<OneOrMore_CodeableConcept> CLOSED {
rdf:first @<CodeableConcept> ;
rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept>
}
<OneOrMore_Reference_Resource> CLOSED {
rdf:first @<Reference> AND {fhir:link
@<Resource> } ;
rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Resource>
}
<OneOrMore_DeviceDispense.performer> CLOSED {
rdf:first @<DeviceDispense.performer> ;
rdf:rest [rdf:nil] OR @<OneOrMore_DeviceDispense.performer>
}
<OneOrMore_Annotation> CLOSED {
rdf:first @<Annotation> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Annotation>
}
<OneOrMore_Reference_Provenance> CLOSED {
rdf:first @<Reference> AND {fhir:link
@<Provenance> } ;
rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Provenance>
}
#---------------------- Value Sets ------------------------
# DeviceDispense Status Codes
fhirvs:devicedispense-status ["preparation" "in-progress" "cancelled" "on-hold" "completed" "entered-in-error" "stopped" "declined" "unknown"]
Usage note: every effort has been made to ensure that the ShEx files are correct and useful, but they are not a normative part of the specification.
FHIR ®© HL7.org 2011+. FHIR R5 hl7.fhir.core#5.0.0 generated on Sun, Mar 26, 2023 15:24+1100.
Links: Search |
Version History |
Contents |
Glossary |
QA |
Compare to R4 |
Compare to R4B |
|
Propose a change