This page is part of the Da Vinci Coverage Requirements Discovery (CRD) FHIR IG (v1.0.0: STU 1) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Defining URL: | http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-communicationrequest |
Version: | 1.0.0 |
Name: | CommunicationRequest |
Status: | Draft as of 2018-07-25 |
Definition: | This profile specifies constraints on the CommunicationRequest resource to support coverage requirements discovery. |
Publisher: | HL7 International - Financial Management Work Group |
Source Resource: | XML / JSON / Turtle |
The official URL for this profile is:
http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-communicationrequest
CRD Clients SHALL use this profile to resolve references to CommunicationRequest resources passed to CRD Services (e.g. selections
context references) and to populate draftOrders
context objects when invoking the when invoking the following CDS Hooks:
Information provided in Must Support elements will commonly be required for CRD Services to perform coverage requirements discovery.
The insurance extension (ext-insurance) allows relevant coverage information to be conveyed with selections and/or draft orders. A search parameter is defined in this guide to enable the prefetch of coverage information when invoking hooks.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from CommunicationRequest
Summary
Mandatory: 8 elements
Must-Support: 14 elements
Fixed Value: 1 element
Prohibited: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
This structure is derived from CommunicationRequest
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CommunicationRequest | 0..* | CommunicationRequest | A request for information to be sent to a receiver | |
id | Σ | 0..1 | string | 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: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
ext-insurance | S | 0..* | Reference(Coverage) | Insurance URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-insurance |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 0..* | Identifier | Unique identifier |
basedOn | SΣ | 1..1 | Reference(Resource) | Fulfills plan or proposal |
replaces | Σ | 0..* | Reference(CommunicationRequest) | Request(s) replaced by this request |
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of |
status | ?!SΣ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of the communication request. Fixed Value: draft |
statusReason | 0..1 | CodeableConcept | Reason for current status Binding: (unbound) (example): Codes identifying the reason for the current state of a request. | |
category | 0..* | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc. | |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication request. |
medium | 0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
subject | S | 1..1 | Reference(Patient) | Focus of message |
about | 0..* | Reference(Resource) | Resources that pertain to this communication request | |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of |
payload | S | 1..* | BackboneElement | Message payload |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension-CommunicationRequest.payload.content[x] | S | 1..1 | Attachment, Reference(Resource), CodeableConcept | Extension URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-CommunicationRequest.payload.content[x] |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
url | 1..1 | uri | identifies the meaning of the extension | |
value[x] | 1..1 | CodeableConcept | Value of extension | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
content[x] | 1..1 | Message part content | ||
contentString | string | |||
contentAttachment | Attachment | |||
contentReference | Reference(Resource) | |||
occurrence[x] | SΣ | 0..1 | When scheduled | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
authoredOn | SΣ | 1..1 | dateTime | When request transitioned to being actionable |
requester | SΣ | 1..1 | Reference(Practitioner | US Core PractitionerRole Profile) | Who/what is requesting service |
recipient | S | 0..* | Reference(Practitioner | US Core PractitionerRole Profile | US Core Organization Profile) | Message recipient |
sender | SΣ | 0..1 | Reference(Practitioner | US Core PractitionerRole Profile | US Core Organization Profile) | Message sender |
reasonCode | SΣ | 0..* | CodeableConcept | Why is communication needed? Binding: v3 Code System ActReason (example): Codes for describing reasons for the occurrence of a communication. |
reasonReference | SΣ | 0..* | Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile) | Why is communication needed? |
note | 0..* | Annotation | Comments made about communication request | |
Documentation for this format |
This structure is derived from CommunicationRequest
Summary
Mandatory: 8 elements
Must-Support: 14 elements
Fixed Value: 1 element
Prohibited: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
This structure is derived from CommunicationRequest
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
CommunicationRequest | 0..* | CommunicationRequest | A request for information to be sent to a receiver | |
id | Σ | 0..1 | string | 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: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
ext-insurance | S | 0..* | Reference(Coverage) | Insurance URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-insurance |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 0..* | Identifier | Unique identifier |
basedOn | SΣ | 1..1 | Reference(Resource) | Fulfills plan or proposal |
replaces | Σ | 0..* | Reference(CommunicationRequest) | Request(s) replaced by this request |
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of |
status | ?!SΣ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of the communication request. Fixed Value: draft |
statusReason | 0..1 | CodeableConcept | Reason for current status Binding: (unbound) (example): Codes identifying the reason for the current state of a request. | |
category | 0..* | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc. | |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication request. |
medium | 0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
subject | S | 1..1 | Reference(Patient) | Focus of message |
about | 0..* | Reference(Resource) | Resources that pertain to this communication request | |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of |
payload | S | 1..* | BackboneElement | Message payload |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension-CommunicationRequest.payload.content[x] | S | 1..1 | Attachment, Reference(Resource), CodeableConcept | Extension URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-CommunicationRequest.payload.content[x] |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
url | 1..1 | uri | identifies the meaning of the extension | |
value[x] | 1..1 | CodeableConcept | Value of extension | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
content[x] | 1..1 | Message part content | ||
contentString | string | |||
contentAttachment | Attachment | |||
contentReference | Reference(Resource) | |||
occurrence[x] | SΣ | 0..1 | When scheduled | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
authoredOn | SΣ | 1..1 | dateTime | When request transitioned to being actionable |
requester | SΣ | 1..1 | Reference(Practitioner | US Core PractitionerRole Profile) | Who/what is requesting service |
recipient | S | 0..* | Reference(Practitioner | US Core PractitionerRole Profile | US Core Organization Profile) | Message recipient |
sender | SΣ | 0..1 | Reference(Practitioner | US Core PractitionerRole Profile | US Core Organization Profile) | Message sender |
reasonCode | SΣ | 0..* | CodeableConcept | Why is communication needed? Binding: v3 Code System ActReason (example): Codes for describing reasons for the occurrence of a communication. |
reasonReference | SΣ | 0..* | Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile) | Why is communication needed? |
note | 0..* | Annotation | Comments made about communication request | |
Documentation for this format |
Other representations of profile: Schematron
Path | Conformance | ValueSet / Code |
CommunicationRequest.language | preferred | CommonLanguages Max Binding: AllLanguages |
CommunicationRequest.status | required | Fixed Value: draft |
CommunicationRequest.statusReason | example | |
CommunicationRequest.category | example | CommunicationCategory |
CommunicationRequest.priority | required | RequestPriority |
CommunicationRequest.medium | example | ParticipationMode |
CommunicationRequest.reasonCode | example | v3.ActReason |
Id | Path | Details | Requirements |
dom-2 | CommunicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | CommunicationRequest | 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | CommunicationRequest | 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 | CommunicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | CommunicationRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | CommunicationRequest.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CommunicationRequest.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CommunicationRequest.extension:CommunicationRequestInsurance | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CommunicationRequest.extension:CommunicationRequestInsurance | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CommunicationRequest.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CommunicationRequest.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CommunicationRequest.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.basedOn | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.replaces | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.groupIdentifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.statusReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.priority | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.medium | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.about | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.payload | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.payload.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CommunicationRequest.payload.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CommunicationRequest.payload.extension:codeableConcept | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CommunicationRequest.payload.extension:codeableConcept | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CommunicationRequest.payload.extension:codeableConcept.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CommunicationRequest.payload.extension:codeableConcept.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CommunicationRequest.payload.extension:codeableConcept.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.payload.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | CommunicationRequest.payload.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | CommunicationRequest.payload.content[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.occurrence[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.authoredOn | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.requester | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.recipient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.sender | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.reasonCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.reasonReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | CommunicationRequest.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |