This page is part of the FHIR Specification (v0.06: DSTU 1 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Codes defined in http://hl7.org/fhir/MedAdmStatus

A set of codes indicating the current status of a MedicationAdministration

These codes are used in the follow places:

The following codes are defined:

activeThe administration of the medication has started and is currently in progress.
pausedThe administration of the medication has started but is currently stopped with a firm intention of restarting.
completedThe administration of the medication has finished
nullifiedThe administration of the medication was recorded in error and the record should now be disregarded.

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/address-use

The use of an address

These codes are used in the follow places:

The following codes are defined:

homeA communication address at a home
workAn office address. First choice for business related contacts during business hours
tempA temporary address. The period can provide more detailed information
oldThis address is no longer in use (or was never correct, but retained for records)

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/administrative-gender

The gender of a person used for administrative purposes

These codes are used in the follow places:

The following codes are defined:

FFemale
MMale
UNUndifferentiated

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/binding-conformance

Must applications comply with this binding?

These codes are used in the follow places:

The following codes are defined:

requiredOnly codes in the specified set are allowed. If the binding is extensible, other codes may be used for concepts not covered by the bound set of codes
preferredFor greater interoperability, implementers are strongly encouraged to use the bound set of codes, however alternate codes may be used in derived profiles and implementations if necessary without being considered non-conformant
exampleThe codes in the set are an example to illustrate the meaning of the field. There is no particular preference for its use nor any assertion that the provided values are sufficient to meet implementation needs

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/binding-type

How this binding is mapped to a set of codes

These codes are used in the follow places:

The following codes are defined:

valuesetThe binding name has an associated URL which is a reference to a Value Set Resource that provides a formal definition of the set of possible codes
codelistThe binding name is associated with a simple list of codes, and definitions from some identified code system (SID, URI, OID, UUID). In resource definitions, the system reference may be omitted, and a list of custom codes with definitions supplied (this is for status and workflow fields that applications need to know)
referenceThe binding name has an associated URL which refers to some external standard or specification that defines the possible codes
specialThe binding points to a list of concepts defined as part of FHIR itself (see below for possible values)

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/boolean-yes-no

Either yes or no, true or false

These codes are not currently used

The following codes are defined:

yesTRUE
noFALSE

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/code-selection-mode

The way in which the code is selected

These codes are used in the follow places:

The following codes are defined:

codeOnly this code is selected
childrenOnly the immediate children (codes with a is_a relationship) are selected, but not this code itself
descendantsAll descendants of this code are selected, but not this code itself
allThis code and any descendants are selected

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/constraint-severity

Must applications comply with this constraint?

These codes are used in the follow places:

The following codes are defined:

errorIf the constraint is violated, the resource is not conformant
warningIf the constraint is violated, the resource is conformant, but it is not necessarily following best practice.

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/contact-system

What kind of contact this is

These codes are used in the follow places:

The following codes are defined:

phoneThe value is a telephone number used for voice calls. Use of full international numbers starting with + is recommended to enable automatic dialing support but not required.
faxThe value is a fax machine. Use of full international numbers starting with + is recommended to enable automatic dialing support but not required.
emailThe value is an email address
urlThe value is a url. This is intended for various personal contacts including blogs, Twitter, Facebook, etc. Do not use for email addresses

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/contact-use

How to use this address

These codes are used in the follow places:

The following codes are defined:

homeA communication contact at a home; attempted contacts for business purposes might intrude privacy and chances are one will contact family or other household members instead of the person one wishes to call. Typically used with urgent cases, or if no other contacts are available.
workAn office contact. First choice for business related contacts during business hours.
tempA temporary contact. The period can provide more detailed information.
oldThis contact is no longer in use (or was never correct, but retained for records)
mobileA telecommunication device that moves and stays with its owner. May have characteristics of all other use codes, suitable for urgent matters, not the first choice for routine business

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/data-absent-reason

Used to specify why the normally expected content of the data element is missing

These codes are not currently used

The following codes are defined:

unknownThe value is not known
askedThe source human does not know the value
tempThere is reason to expect (from the workflow) that the value may become known
notaskedThe workflow didn't lead to this value being known
maskedThe information is not available due to security, privacy or related reasonsUsing masked may be breach of security or confidentiality, but there are times when its use is required to support alternate workflows for gaining access to denied information.
unsupportedThe source system wasn't capable of supporting this element
astextThe content of the data is represented as text
errorSome system or workflow process error means that the information is not available

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/document-attestation-mode

The way in which a person authenticated a document

These codes are used in the follow places:

The following codes are defined:

personalThe person authenticated the document in their personal capacity
professionalThe person authenticated the document in their professional capacity
legalThe person authenticated the document and accepted legal responsibility for its content
officialThe organization authenticated the document as consistent with their policies and procedures

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/document-mode

Whether the application produces or consumes documents

These codes are used in the follow places:

The following codes are defined:

producerThe application produces documents of the specified type
consumerThe application consumes documents of the specified type

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/event-timing

A real world event that a schedule is related to

These codes are used in the follow places:

The following codes are defined:

HSevent occurs [duration] before the hour of sleep (or trying to)
WAKEevent occurs [duration] after waking
ACevent occurs [duration] before a meal (from the Latin ante cibus)
ACMevent occurs [duration] before breakfast (from the Latin ante cibus matutinus)
ACDevent occurs [duration] before lunch (from the Latin ante cibus diurnus)
ACVevent occurs [duration] before dinner (from the Latin ante cibus vespertinus)
PCevent occurs [duration] after a meal (from the Latin post cibus)
PCMevent occurs [duration] after breakfast (from the Latin post cibus matutinus)
PCDevent occurs [duration] after lunch (from the Latin post cibus diurnus)
PCVevent occurs [duration] after dinner (from the Latin post cibus vespertinus)

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/extension-context

How an extension context is interpreted

These codes are used in the follow places:

The following codes are defined:

resourceThe context is all elements matching a particular resource element path
datatypeThe context is all nodes matching a particular data type element path (root or repeating element) or all elements referencing a particular primitive data type (expressed as the datatype name)
mappingThe context is all nodes whose mapping to a specified reference model corresponds to a particular mapping structure. The context identifies the mapping target. The mapping should clearly identify where such an extension could be used, though this
extensionThe context is a particular extension from a particular profile. Expressed as uri#name, where uri identifies the profile and #name identifies the extension code

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/filter-operator

The kind of operation to perform as part of a property based filter

These codes are used in the follow places:

The following codes are defined:

=The property value has the concept specified by the value
is_aThe property value has a concept that has an is_a relationship with the value
is_not_aThe property value has a concept that does not have an is_a relationship with the value
regexThe property value representation matches the regex specified in the value

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/group-type

Types of resources that are part of group

These codes are used in the follow places:

The following codes are defined:

personGroup contains Person resources
animalGroup contains Animal resources
deviceGroup contains Device resources
medicationGroup contains Medication resources
foodGroup contains Food resources

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/identifier-use

Identifies the use for this identifier, if known

These codes are used in the follow places:

The following codes are defined:

usualthe identifier recommended for display and use in real-world interactions
officialthe identifier considered to be most trusted for the identification of this item
tempA temporary identifier

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/issue-severity

How the issue affects the success of the action

These codes are used in the follow places:

The following codes are defined:

errorThe issue is sufficiently important to cause the action to fail
warningThe issue is not important enough to cause the action to fail, but may cause it to be performed suboptimally or in a way that is not as desired
informationThe issue has no relation to the degree of success of the action

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/lab-report-status

The status of a report or result item

These codes are used in the follow places:

The following codes are defined:

registeredThe existence of the result is registered, but there is no result yet available
interimThis is an initial or interim result: data may be missing or verification not been performed
finalThe result is complete and verified by the responsible pathologist
amendedThe result has been modified subsequent to being Final, and is complete and verified by the responsible pathologist
cancelledThe result is unavailable because the test was not started or not completed (also sometimes called "aborted")
withdrawnThe result has been withdrawn following previous Final release

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/lab-result-flag

codes for result flags

These codes are used in the follow places:

The following codes are defined:

-
--
---
+
++
+++
RResistent
SModerately Susceptible
SSVery Susceptible

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/language-ability-mode

A value representing the person's method of expression of this language

These codes are used in the follow places:

The following codes are defined:

ESGNExpressed signed
ESPExpressed spoken
EWRExpressed written
RSGNReceived signed
RSPReceived spoken
RWRReceived written

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/language-ability-proficiency

A code that describes how well the language is spoken

These codes are used in the follow places:

The following codes are defined:

EExcellent
FFair
GGood
PPoor

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/list-entry-status

Status of an entry in a list.

These codes are used in the follow places:

The following codes are defined:

addedThis item was added to the list
retainedThis item has been retained in the list
updatedThis item is still in the list, but its summary information changed
deletedThis item has been deleted from the list

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/marital-status

The domestic partnership status of a person

These codes are used in the follow places:

The following codes are defined:

AAnnulled - Marriage contract has been declared null and to not have existed
DDivorced - Marriage contract has been declared dissolved and inactive
IInterlocutory - Subject to an Interlocutory Decree.
LLegally Separated
MMarried - A current marriage contract is active
PPolygamous - More than 1 current spouse
SNever married - No marriage contract has ever been entered
TDomestic Partner - Person declares that a domestic partner relationship exists
WWidowed - The spouse has died

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/message-conformance-event-mode

The mode of a message conformance statement

These codes are used in the follow places:

The following codes are defined:

senderThe application sends requests and receives responses
receiverThe application receives requests and sends responses

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/message-transport

How messages are delivered

These codes are used in the follow places:

The following codes are defined:

httpThe application sends or receives messages using HTTP POST (may be over http or https)
ftpThe application sends or receives messages using File Transfer Protocol
mllpThe application sends or receivers messages using HL7's Minimal Lower Level Protocol

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/name-part-qualifier

A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type

These codes are not currently used

The following codes are defined:

LSFor organizations a suffix indicating the legal status, e.g., Inc., "Co.", "AG", "GmbH", "B.V." "S.A.", "Ltd." Etc.
ACIndicates that a prefix like "Dr." or a suffix like "M.D." or "Ph.D." is an academic title.
NBIn Europe and Asia, there are still people with nobility titles (aristocrats). German "von" is generally a nobility title, not a mere voorvoegsel. Others are "Earl of" or "His Majesty King of..." etc. Rarely used nowadays, but some systems do keep track of this.
PRPrimarily in the British Imperial culture people tend to have an abbreviation of their professional organization as part of their credential suffices
HONAn honorific such as "The Right Honourable" or "Weledelgeleerde Heer".
BRA name that a person was given at birth or established as a consequence of adoption. NOTE: This is not used for temporary names assigned at birth such as 'Baby of Smith' – which is just a name with a use code of TEMP
ADA name part a person acquired. The name part may be acquired by adoption, or the person may have chosen to use the name part for some other reason. NOTE This differs from an other/psuedonym/alias in that an acquired name part is acquired on a formal basis rather than an informal one (e.g. registered as part of the official name)
SPThe name assumed from the partner in a marital relationship. Usually the spouse‘s family name. No inference about gender may be made from the existence of spouse names
MIDIndicates that the name part is a middle name. In general, the English "middle name" concept is all of the given names after the first. This qualifier may be used to explicitly indicate which given names are considered to be middle names. The middle name qualifier may also be used with family names. This is a Scandinavian use case, matching the concept of "mellomnavn"/"mellannamn". There are specific rules that indicate what names may be taken as a mellannamnin different Scandinavian countries
CLCallme is used to indicate which of the various name parts is used when interacting with the person
INIndicates that a name part is just an initial. Initials do not imply a trailing period since this would not work with non-Latin scripts. Initials may consist of more than one letter, e.g., "Ph." could stand for "Philippe" or "Th." for "Thomas"

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/name-use

The use of a human name

These codes are used in the follow places:

The following codes are defined:

usualKnown as/conventional/the one you normally use
officialThe formal name as registered in an official (government) registry, but which name might not be commonly used. May be called "legal name".
tempA temporary name. A name valid time can provide more detailed information. This may also be used for temporary names assigned at birth or in emergency situations.
nicknameA name that is used to address the person in an informal manner, but is not part of their formal or usual name
anonymousAnonymous assigned name, alias, or pseudonym (used to protect a person's identity for privacy reasons)
oldThis name is no longer in use (or was never correct, but retained for records)
maidenA name used prior to marriage. Marriage naming customs vary greatly around the world. This name use is for use by applications that collect and store "maiden" names. Though the concept of maiden name is often gender specific, the use of this term is not gender specific. The use of this term does not imply any particular history for a person's name, nor should the maiden name be determined algorithmically.

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/narrative-map-source

Which is the source in a Narrative <-> Data mapping

These codes are not currently used

The following codes are defined:

textThe text is the original data
dataThe data is the original data

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/narrative-status

The status of a resource narrative

These codes are used in the follow places:

The following codes are defined:

generatedThe contents of the narrative are entirely generated from the structured data in the resource.
extensionsThe contents of the narrative are entirely generated from the structured data in the resource and some of the content is generated from extensions
additionalThe contents of the narrative contain additional information not found in the structured data
emptythe contents of the narrative are some equivalent of "No human readable text provided for this resource"

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/network-type

the type of network access point that originated the audit event

These codes are used in the follow places:

The following codes are defined:

nameMachine Name, including DNS name
ipIP Address
phoneTelephone Number

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/object-id-type

Describes the identifier that is contained in Participant Object ID

These codes are used in the follow places:

The following codes are defined:

1Medical Record Number
2Patient Number
3Encounter Number
4Enrollee Number
5Social Security Number
6Account Number
7Guarantor Number
8Report Name
9Report Number
10Search Criteria
11User Identifier
12URI

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/object-lifecycle

Identifier for the data life-cycle stage for the participant object

These codes are used in the follow places:

The following codes are defined:

1Origination / Creation
2Import / Copy from original
3Amendment
4Verification
5Translation
6Access / Use
7De-identification
8Aggregation, summarization, derivation
9Report
10Export / Copy to target
11Disclosure
12Receipt of disclosure
13Archiving
14Logical deletion
15Permanent erasure / Physical destruction

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/object-role

Code representing the functional application role of Participant Object being audited

These codes are used in the follow places:

The following codes are defined:

1Patient
2Location
3Report
4Resource
5Master file
6User
7List
8Doctor
9Subscriber
10Guarantor
11Security User Entity
12Security User Group
13Security Resource
14Security Granularity Definition
15Provider
16Data Destination
17Data Repository
18Schedule
19Customer
20Job
21Job Stream
22Table
23Routing Criteria
24Query

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/object-type

Code for the participant object type being audited

These codes are used in the follow places:

The following codes are defined:

1Person
2System Object
3Organization
4Other

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/observation-interpretation

Codes identifying interpretations of observations

These codes are used in the follow places:

The following codes are defined:

NNormal
AAbnormal
LLow
HHigh

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/org-relationship-type

The nature of the relationship between the organization and the related organization.

These codes are used in the follow places:

The following codes are defined:

parentThe organization is a parent for the related organization
childThe organization is a child of the related organization

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/prescription-status

The status of a prescription

These codes are used in the follow places:

The following codes are defined:

activePatient is using the prescribed medicine
completedPrescription is no longer current

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/problem-relationship-type

The type of relationship between a problem/diagnosis and it's related item

These codes are used in the follow places:

The following codes are defined:

due-to
follows

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/provenance-participant-role

The role that a provenance participant played

These codes are used in the follow places:

The following codes are defined:

entererA person entering the data into the originating systemThe data entry person is collected optionally for internal quality control purposes. This includes the transcriptionist for dictated text
performer A person, animal, organization or device that who actually and principally carries out the activityDevice should only be assigned as a performer in circumstances where the device is performing independent of human intervention. Need not be the principal responsible actor
authorA party that originates the resource and therefore has responsibility for the information given in the resource and ownership of this resourceEvery resource should have an author
verifierA person who verifies the correctness and appropriateness of activity
attestorA verifier who attests to the accuracy of the resource
informantA person who reported information that contributed to the resourcee.g., a next of kin who answers questions about the patient's history
sourceAn information source from which the portions of the resource are derivedMay be an electronic document, application, paper record, etc. *Not* a person
ccA party, who may or should receive or who has recieved a copy of the resource or subsequent or derivative information of that resource
applicationAn application with a user interface that interacts with a person
daemonA background process that transfers information from one place or form to another

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/provenance-participant-type

The type of a provenance participant

These codes are used in the follow places:

The following codes are defined:

resourceThe participant is a resource itself. The id is a reference to the resource
personThe participant is a person acting on their on behalf or on behalf of the patient rather than as an agent for an organization. I.e. "not a healthcare provider"
agentThe participant is a agent
organizationThe participant is an organization
softwareThe participant is a software application
recordThe participant is a logical record. The record itself participated in the activity
documentThe participant is a document

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/quantity-range

how the Quantity should be understood and represented

These codes are used in the follow places:

The following codes are defined:

<The actual value is less than the given value
<=The actual value is less than or equal to the given value
>=The actual value is greater than or equal to the given value
>The actual value is greater than the given value

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/record-status

The status of the record of this organization

These codes are used in the follow places:

The following codes are defined:

activeThe state representing the fact that the Entity record is currently active.
inactiveThe state representing the fact that the Entity record is currently inactive.

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/resource-profile-status

The lifecycle status of a Resource Profile

These codes are used in the follow places:

The following codes are defined:

draftThis profile is still under development
testingThis profile was authored for testing purposes (or education/evaluation/marketing)
reviewThis profile is undergoing review to check that it is ready for production use
productionThis profile is ready for use in production systems
withdrawnThis profile has been withdrawn and should no longer be used
supersededThis profile has been superseded by a more recent version

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/response-code

The kind of response to a message

These codes are used in the follow places:

The following codes are defined:

okThe message was accepted and processed without error
errorSome internal unexpected error occurred - wait and try again. Note - this is usually used for things like database unavailable, which may be expected to resolve, though human intervention may be required
rejectionThe message was rejected because of some content in it. There is no point in re-sending without change. The response narrative must describe what the issue is.
rulesThe message was rejected because of some event-specific business rules, and it may be possible to modify the request and re-submit (as a different request). The response must include an Issue report that describes what problem is
undeliverableA middleware agent was unable to deliver the message to its intended destination

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/restful-conformance-mode

The mode of a restful conformance statement

These codes are used in the follow places:

The following codes are defined:

clientThe application acts as a server for this resource
serverThe application acts as a client for this resource

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/restful-operation

Operations supported by REST

These codes are used in the follow places:

The following codes are defined:

readRead the current state of the resource
vreadRead the state of a specific version of the resource
updateUpdate an existing resource by its id (or create it if it is new)
deleteDelete a resource
historyRetrieve the update history for the resource
validateCheck that the content would be acceptable as an update
updatesGet a list of prior updates to resources of this type, optionally with some filter criteria
createCreate a new resource with a server assigned id

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/search-param-type

Data types allowed to be used for search parameters

These codes are used in the follow places:

The following codes are defined:

integerSearch parameter must be a simple whole number
stringSearch parameter is a simple string, like a name part (search usually functions on partial matches)
textSearch parameter is on a long string (i.e. a text filter type search)
dateSearch parameter is on a date (and should support -before and -after variants). The date format is the standard XML format, though other formats may be supported
tokenSearch parameter is on a fixed value string (i.e. search has an exact match)
qtokenSearch parameter is a pair of fixed value strings, namespace and value, separated by a "#". The namespace is usually a uri, such as one of the defined code systems and is optional when searching

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/search-repeat-behavior

How repeating parameters are handled for the parameter type

These codes are used in the follow places:

The following codes are defined:

singleThe search parameter may only occur once
unionWhen the search parameter occurs more than once, match resources with any of the values
intersectionWhen the search parameter occurs more than once, match resources with all of the values

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/security-event-event-action

Indicator for type of action performed during the event that generated the audit.

These codes are used in the follow places:

The following codes are defined:

CCreate
RRead/View/Print/Query
UUpdate
DDelete
EExecute

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/security-event-event-outcome

Indicates whether the event succeeded or failed

These codes are used in the follow places:

The following codes are defined:

0Success
4Minor failure
8Serious failure
12Major failure

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/security-event-severity

The severity of the audit entry

These codes are not currently used

The following codes are defined:

Emergencysystem is unusable
Alertaction must be taken immediately
Criticalcritical conditions
Errorerror conditions
Warningwarning conditions
Noticenormal but significant condition
Informationalinformational messages
Debugdebug-level messages

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/source-type

Code specifying the type of source where event originated

These codes are used in the follow places:

The following codes are defined:

1End-user interface
2Data acquisition device or instrument
3Web server process tier in a multi-tier system
4Application server process tier in a multi-tier system
5Database server process tier in a multi-tier system
6Security server, e.g., a domain controller
7ISO level 1-3 network component
8ISO level 4-6 operating software
9External source, other or unknown type

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/units-of-time

A unit of time (units from UCUM)

These codes are used in the follow places:

The following codes are defined:

ssecond
minminute
hhour
dday
wkweek
momonth
ayear

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/valueset-status

The lifecycle status of a Value Set

These codes are used in the follow places:

The following codes are defined:

draftThis valueset is still under development
testingThis valueset was authored for testing purposes (or education/evaluation/evangelisation)
productionThis valueset is ready for use in production systems
withdrawnThis valueset should no longer be used
supersededThis valueset has been replaced and a different valueset should be used in its place

See the full registry of codes (§5.2.1) defined as part of FHIR.

Codes defined in http://hl7.org/fhir/xds-entry-availability

The availability status of document

These codes are used in the follow places:

The following codes are defined:

Approved
Deprecated

See the full registry of codes (§5.2.1) defined as part of FHIR.

5.3.1: Resource Format - Formal Definitions

5.3.1.1: Narrative

Narrative
DefinitionA human readable formatted text, including images
Control1..1
RIM MappingN/A
Narrative.status
DefinitionThe status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data
Control1..1
Typecode from NarrativeStatus
Must Understandtrue
RIM MappingN/A
Narrative.div
DefinitionThe actual narrative content, a stripped down version of XHTML
Control1..1
Typexhtml
Must Understandtrue
CommentsThe contents of the html element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 and 15 of the HTML 4.0 standard, <a> elements (either name or href), images, and internally contained stylesheets. The XHTML content may not contain a head, a body, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes, and objects.
RIM MappingN/A
Narrative.image
DefinitionAn image referred to directly in the xhtml
Control0..*
Must Understandtrue
RequirementsAllows image content to be conveyed inline
RIM MappingN/A
Narrative.image.mimeType
DefinitionMime type of image
Control1..1
Typecode from MimeType
Must Understandtrue
RIM MappingN/A
Narrative.image.content
Definitionbase64 image data
Control1..1
Typebase64Binary
Must Understandtrue
RIM MappingN/A

5.3.1.2: ResourceReference

ResourceReference
DefinitionA reference from one resource to another
Control1..1
RIM MappingN/A
ResourceReference.type
DefinitionThe name of one of the resource types defined in this specification to identify the type of the resource being referenced
Control0..1
Typecode from ResourceType
Must Understandtrue
CommentsWhether or not the type of the resource reference is fixed for a particular element, the reference includes the resource type
RIM MappingN/A
ResourceReference.id
DefinitionA literal URL that resolves to the location of the resource. The URL may be relative or absolute. Relative Ids contain the logical id of the resource. This reference is version independent - it points to the latest version of this resource
Control0..1
Typeuri
Must Understandtrue
CommentsUsing absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach
RIM MappingN/A
ResourceReference.version
DefinitionA literal URL that resolves to the location of a particular version of the resource. The URL may be relative or absolute. Relative Ids contain the logical version id of the resource.
Control0..1
Typeuri
CommentsVersion Specific references are generally used for audit trail purposes, or when building attested content. The uniqueness of the version id may be scoped by the logical id
RIM MappingN/A
ResourceReference.display
DefinitionPlain text narrative that identifies the resource in addition to the resource reference
Control0..1
Typestring
CommentsThis is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
RIM MappingN/A

5.4.1: Data Type Formal Definitions

This page provides the formal definitions for the data types

Data Types Concept Map

5.4.1.1: Attachment

Attachment
DefinitionFor referring to data content defined in other formats.
Control1..1
RequirementsMany models need to include data defined in other specifications that is complex and opaque to the healthcare model. This includes documents, media recordings, structured data, etc.
RIM MappingED
Attachment.contentType
DefinitionIdentifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate
Control1..1
Typecode from MimeType
Must Understandtrue
RequirementsProcessors of the data need to be able to tell what the data is
RIM Mapping./mediaType, ./charset
Attachment.data
DefinitionThe actual data of the attachment - a sequence of bytes. In XML, represented using base64
Control0..1
Typebase64Binary
Must Understandtrue
RequirementsThe data needs to able to be transmitted inline
CommentsThe base64-encoded data must be expressed in the same character set as the base resource XML
RIM Mapping./data
To DoShould this be handled by an extension? How common is it?
Attachment.url
DefinitionAn alternative location where the data can be accessed
Control0..1
Typeuri
Must Understandtrue
RequirementsThe data needs to be transmitted by reference
CommentsIf both data and url are provided, the url must point to the same content as the data contains. Urls may be relative references or may be made to transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. If a URL is provided, it must resolve to actual data.
RIM Mapping./reference/literal
To DoSort out relative URL references
Attachment.size
DefinitionThe number of bytes of data that make up this attachment.
Control0..1
Typeinteger
RequirementsRepresenting the size allows applications to determine whether they should fetch the content automatically in advance, or refuse to fetch it at all
CommentsThe number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference
RIM Mapping(needs data type R3 proposal)
Attachment.hash
DefinitionThe calculated hash of the data using SHA-1. Represented using base64
Control0..1
Typebase64Binary
RequirementsIncluded so that applications can verify that the contents of a location have not changed, and also so that a signature of the xml content can implicitly sign the content of an image without having to include the data in the instance or reference the url in the signature
RIM Mapping.integrityCheck[parent::ED/integrityCheckAlgorithm="SHA-1"]
Attachment.title
DefinitionA label or set of text to display in place of the data
Control0..1
Typestring
RequirementsApplications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer.
RIM Mapping./title/data

5.4.1.2: Identifier

Identifier
DefinitionA technical identifier - identifies some entity uniquely and unambiguously
Control1..1
RequirementsNeed to be able to identify things with confidence and be sure that the identification is not subject to misinterpretation
Commentsthe Identifier class is a little looser than II because it allows URIs as well as registered OIDs or GUIDs
RIM MappingII
Identifier.system
DefinitionEstablishes the namespace in which set of possible id values is unique.
Control0..1
Typeuri
Must Understandtrue
RequirementsThere are many sequences of identifiers. To perform matching, we need to know what sequence we're dealing with.
RIM MappingII.root
Identifier.id
DefinitionThe portion of the identifier typically displayed to the user and which is unique within the context of the system.
Control0..1
Typestring
Must Understandtrue
Commentsif the id is actually a full uri, then the system is urn:ietf:rfc:3986
RIM MappingII.extension or II.root if system indicates OID or GUID

5.4.1.3: Coding

Coding
DefinitionA reference to a code defined by a terminology system
Control1..1
RequirementsReferring to codes is a ubiquitous task in healthcare models
CommentsCodes may defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED-CT - see the v3 core principles for more information
RIM MappingCV
Coding.system
DefinitionThe identification of the system that defines the meaning of the symbol in the code. Can be a simple list of enumerations, a list of codes with meanings or all the way to a complex semantic web such as SNOMED-CT, whether classification, terminology, or ontology
Control0..1
Typeuri
Must Understandtrue
RequirementsNeed to be unambiguous about the source of the definition of the symbol
CommentsThe identity is a uri. It may be an OID or a UUID, which must be references to the HL7 OID registry, or a URI which either comes from the list of FHIR defined special URIs, or from some system defined elsewhere, in which case the URI should de-reference to establish the system unambiguously
RIM Mapping./codeSystem
Coding.code
DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system
Control0..1
Typecode
Must Understandtrue
RequirementsNeed to refer to a particular code in the system
RIM Mapping./code
Coding.display
DefinitionA representation of the meaning of the code in the system, following the rules laid out by the system.
Control0..1
Typestring
RequirementsNeed to be able to carry a human readable meaning of the code for readers that do not recognise the system
RIM MappingCV.displayName
To Dolanguage?

5.4.1.4: CodeableConcept

CodeableConcept
DefinitionA concept that may be defined by a formal reference to a terminology or ontology or may be provided by text
Control1..1
RequirementsThis is a common pattern in healthcare - a concept that may be defined by one or more codes from formal definitions including LOINC and SNOMED-CT, and/or defined by the provision of text that captures a human sense of the concept
CommentsNot all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations, and the relationship between elements and pre- and post-coordination
RIM MappingCD
CodeableConcept.coding
DefinitionA reference to a code defined by a terminology system
Control0..*
TypeCoding
Must Understandtrue
RequirementsAllows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
CommentsCodes may defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED-CT - see the v3 core principles for more information. Ordering of codings is undefined and must not be used to infer meaning.
RIM Mappingunion(., ./translation)
CodeableConcept.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user or concept
Control0..1
Typestring
Must Understandtrue
RequirementsThe codes from the terminologies do not always capture the correct meaning with all the nuances of the human, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source
CommentsVery often the text is the same as a displayName of one of the codings
RIM Mapping./originalText[mediaType/code="text/plain"]/data
CodeableConcept.primary
DefinitionIndicates which of the codes in the codings was chosen by a user, if one was chosen directly
Control0..1
Typeidref
RequirementsWhere a user picks an actual code directly, it is useful to note that this is the primary input. It's also the most appropriate starting point for new translations (unless re-coding directly from 'text').
RIM Mappingspecial("The id assigned to the coding that corresponds to the root code of the CD")

5.4.1.5: Choice

Choice
DefinitionA code taken from a short list of codes that are not defined in a formal code system
Control1..1
RequirementsQuestionnaires and the like - assessment scales. There's no formal terminology underlying them, yet the possible choices affect the interpretation of the code. Because the choice can be quite dynamic, the price of setting up formal infrastructure to carry the choices out of band is expensive
CommentsChoice is generally used for things like pain scales, questionnaires or formally defined assessment indexes. The possible codes may be ordered with some arbitrarily defined scale. Choice does not fit all assessment scales - the more combinatorial the value is, the less likely that Choice will be an appropriate data type
RIM MappingCD
Choice.code
DefinitionThe code or value that the user selected from the list of possible codes
Control0..1
Typecode
Must Understandtrue
CommentsThe "code" might be a numerical choice in a pain scale, for instance, 1 where the choices are 1-5 with associated words for severity of pain
RIM MappingCD.code
Choice.option
DefinitionA list of possible values for the code
Control2..*
Must Understandtrue
RequirementsNeed to know the possible codes the user could have chosen
RIM MappingExpansion of CD.valueSet to list of CDs
Choice.option.code
DefinitionA possible code or value that the user could have chosen
Control1..1
Typecode
Must Understandtrue
RequirementsNeed to know the possible codes the user could have chosen
RIM MappingCD.code
Choice.option.display
DefinitionA set of words associated with the code to give it meaning and displayed to the user
Control0..1
Typestring
RequirementsSometimes the codes have associated words that give it more meaning
CommentsThe code itself may convey sufficient meaning
RIM MappingCD.displayName
Choice.isOrdered
DefinitionWhether the order of the values has an assigned meaning
Control0..1
Typeboolean
Must Understandtrue
RequirementsThe Choice may come from an ordered scale such as a pain scale or a an assessment scale, or it may be just a random set of choices that have no particular order
RIM MappingN/A

5.4.1.6: Quantity

Quantity
DefinitionA measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies
Control1..1
RequirementsNeed to able to capture all sorts of measured values, even if the measured value are not precisely quantified. Values include exact measures such as 3.51g, customary units such as 3 tablets, currencies such as $100.32USD
CommentsThe context of use may frequently define what kind of quantity this is, and therefore what kind of units can be used. The context of use may also restrict the values for status
RIM MappingPQ, IVL<PQ>, MO, CO, depending on the values
Quantity.value
DefinitionThe value of the measured amount. The value includes an implicit precision in the presentation of the value
Control0..1
Typedecimal
Must Understandtrue
RequirementsPrecision is handled implicitly in almost all cases of measurement
CommentsThe implicit precision should always be honored. Currency has its own rules for handling precision
RIM MappingPQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
Quantity.range
DefinitionHow the value should be understood and represented - whether the actual value is greater or less than the measure due to measurement issues
Control0..1
Typecode from QuantityRange
Must Understandtrue
RequirementsNeed a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.
RIM MappingIVL properties
Quantity.units
DefinitionA human readable form of the units
Control0..1
Typestring
Must Understandtrue
RequirementsThere are lots of representations for the units and in many contexts, particular representations are fixed and required. i.e. mcg for micrograms, and not ug
RIM MappingN/A
Quantity.system
DefinitionThe identification of the system that provides the coded form of the unit
Control0..1
Typeuri
Must Understandtrue
RequirementsNeed to know the system that defines the coded form of the unit
RIM MappingCO.codeSystem, PQ.translation.codeSystem
Quantity.code
DefinitionA computer processable form of the units in some unit representation system
Control0..1
Typecode
Must Understandtrue
RequirementsNeed a computable form of the units that is fixed across all forms. UCUM provides this for quantities, but SNOMED-CT provides many arbitrary units of interest
CommentsThe preferred system is UCUM, but SNOMED-CT can also be used (for customary units), or ISO 4217 for currency. The context of use may additionally require a code from a particular system (Unless the Quantity element has a dataAbsentReason flag)
RIM MappingPQ.code, MO.currency, PQ.translation.code

5.4.1.7: Range

Range
DefinitionA set of ordered Quantities defined by a low and high limit.
Control1..1
RequirementsNeed to be able to specify ranges of values or time periods
CommentsThe stated low and high value are assumed to have arbitrarily high precision when it comes to determining which values are in the range. i.e. 1.99 is not in the range 2 -> 3
RIM MappingIVL<QTY[not(type="TS")]> [lowClosed="true" and highClosed="true"]or URG<QTY[not(type="TS")]>
Range.low
DefinitionThe low limit. The boundary is inclusive.
Control0..1
TypeQuantity
Must Understandtrue
CommentsIf the low element is missing, the meaning is that the low boundary is not known.
RIM Mapping./low
Range.high
DefinitionThe high limit. The boundary is inclusive.
Control0..1
TypeQuantity
Must Understandtrue
CommentsIf the high element is missing, the meaning is that the high boundary is not known.
RIM Mapping./high

5.4.1.8: Ratio

Ratio
DefinitionA ratio of two Quantity values - a numerator and a denominator.
Control1..1
RequirementsNeed to able to capture ratios for some measurements (titers) and some rates (costs)
RIM MappingRTO
Ratio.numerator
DefinitionThe numerator
Control0..1
TypeQuantity
Must Understandtrue
RIM MappingRTO.numerator
Ratio.denominator
DefinitionThe denominator
Control0..1
TypeQuantity
Must Understandtrue
RIM MappingRTO.denominator

5.4.1.9: Period

Period
DefinitionA time period defined by a start and end time.
Control1..1
CommentsNot a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If a duration might be required, specify the type as Interval|Duration
RIM MappingIVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
Period.start
DefinitionThe start of the period. The boundary is inclusive.
Control0..1
TypedateTime
Must Understandtrue
CommentsIf the low element is missing, the meaning is that the low boundary is not known.
RIM Mapping./low
Period.end
DefinitionThe end of the period. If the high is missing, it means that the period is ongoing
Control0..1
TypedateTime
Must Understandtrue
CommentsThe high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03
RIM Mapping./high

5.4.1.10: HumanId

HumanId
DefinitionAn identifier that humans use. This is different from a system identifier because identifiers that humans use are regularly changed or retired due to human intervention and error. Note that a human identifier may be a system identifier on some master system but becomes a human identifier elsewhere due to how it is exchanged between humans. Driver's license numbers are a good example of this. Also, because human mediated identifiers are often invoked as implicit links to external business processes, such identifiers are often associated with multiple different resources.
Control1..1
RequirementsNeed to be able to work with the many vagaries of human identifiers - that is, identifiers that humans use for things, with the attendant uncertainty and correction features
HumanId.use
DefinitionIdentifies the use for this identifier, if known
Control0..1
Typecode from IdentifierUse
RequirementsAllows the appropriate identifier for a particular context of use to be selected from among a set of identifiers
HumanId.label
DefinitionA label for the identifier that can be displayed to a human so they can recognise the identifier
Control0..1
Typestring
RequirementsAllows humans to make use of identifiers when the identifier system is not known
HumanId.identifier
DefinitionThe identifier itself
Control0..1
TypeIdentifier
Must Understandtrue
RequirementsAllows for matching of objects
HumanId.period
DefinitionTime period during which identifier was valid for use
Control0..1
TypePeriod
HumanId.assigner
DefinitionOrganisation that issued/manages the identifier
Control0..1
TypeResource(Organization)
CommentsThe reference may be just a text description of the assigner

5.4.1.11: HumanName

HumanName
DefinitionA human's name with the ability to identify parts and usage
Control1..1
RequirementsNeed to be able to record names, along with notes about their use
CommentsNames may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts may or may not be imbued with some implicit meaning; various cultures associate different importance with the name parts, and the degree to which systems must care about name parts around the world varies widely.
RIM MappingEN
HumanName.use
DefinitionIdentifies the purpose for this name
Control0..1
Typecode from NameUse
Must Understandtrue
RequirementsAllows the appropriate name for a particular context of use to be selected from among a set of names
RIM Mappingunique(./use)
HumanName.text
Definitiona full text representation of the name
Control0..1
Typestring
RequirementsA renderable, unencoded form
CommentsCan provide both a text representation, and structured parts
RIM Mapping./formatted
HumanName.family
DefinitionFamily name, this is the name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
Control0..*
Typestring
Aliasessurname
Commentsfamily name is allowed to repeat. A single family name with spaces is equivalent to multiple family names with the same values
HumanName.given
DefinitionGiven name. NOTE: Not to be called "first name" since given names do not always come first.
Control0..*
Typestring
Aliasesfirst name; middle name
HumanName.prefix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that comes at the start of the name
Control0..*
Typestring
HumanName.suffix
DefinitionPart of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that comes at the end of the name
Control0..*
Typestring
HumanName.period
DefinitionIndicates the period of time when this name was valid for the named person.
Control0..1
TypePeriod
RequirementsAllows names to be placed in historical context
RIM Mapping./usablePeriod[type="IVL<TS>"]

5.4.1.12: Address

Address
DefinitionThere is a variety of postal address formats defined around the world. This format defines a superset that is the basis for addresses all around the world
Control1..1
RequirementsNeed to be able to record postal addresses, along with notes about their use
CommentsNote: address is for postal addresses, not physical locations
RIM MappingAD
Address.use
DefinitionIdentifies the intended purpose of this address
Control0..1
Typecode from AddressUse
Must Understandtrue
RequirementsAllows an appropriate address to be chosen from a list of many
RIM Mappingunique(./use)
Address.text
Definitiona full text representation of the address
Control0..1
Typestring
Must Understandtrue
RequirementsA renderable, unencoded form
CommentsCan provide both a text representation, and parts
RIM Mapping./formatted
Address.part
DefinitionPart of an address line
Control0..*
Typestring
Commentsan extension may further define the meaning of the part
Address.line
DefinitionA line of an address (typically used for street names & numbers, unit details, delivery hints, etc.) .
Control0..*
Typestring
Address.city
DefinitionThe name of the city, town, village, or other community or delivery centre.
Control0..1
Typestring
Address.state
DefinitionSub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).
Control0..1
Typestring
Address.zip
DefinitionA postal code designating a region defined by the postal service.
Control0..1
Typestring
Address.country
DefinitionCountry. ISO 3166 3 letter codes can be used in place of a full country name.
Control0..1
Typestring
Address.dpid
DefinitionA value that uniquely identifies the postal address. (Often used in barcodes).
Control0..1
Typestring
Address.period
DefinitionTime period when address was/is in use
Control0..1
TypePeriod
RequirementsAllows addresses to be placed in historical context
RIM Mapping./usablePeriod[type="IVL<TS>"]

5.4.1.13: Contact

Contact
DefinitionAll kinds of technology mediated contact details for a person or organisation, including telephone, email, etc.
Control1..1
RequirementsNeed to track phone, fax, mobile, sms numbers, email addresses, twitter tags, etc.
RIM MappingTEL
Contact.system
DefinitionWhat kind of contact this is - what communications system is required to make use of the contact
Control0..1
Typecode from ContactSystem
Must Understandtrue
RIM Mapping./scheme
Contact.value
DefinitionThe actual contact details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).
Control0..1
Typestring
Must Understandtrue
RequirementsNeed to support legacy numbers that are not in a tightly controlled format
Commentsadditional out of band data such as extensions, or notes about use of the contact are sometimes included in the value
RIM Mapping./url
Contact.use
DefinitionIdentifies the context for the address
Control0..1
Typecode from ContactUse
Must Understandtrue
RequirementsNeed to track the way a person uses this contact, so a user can choose which is appropriate for their purpose
RIM Mappingunique(./use)
Contact.period
DefinitionTime period when the contact was/is in use
Control0..1
TypePeriod
RIM Mapping./useablePeriod[type="IVL<TS>"]

5.4.1.14: Schedule

Schedule
DefinitionA schedule that specifies an event that may occur multiple times. Schedules are not used for recording when things did happen, but when they are expected or requested to occur.
Control1..1
RequirementsNeed to able to track schedules. There are several different ways to do scheduling: one or more specified times, a simple rules like three times a day, or to say, x before/after meals, or something like that
Comments A schedule can be either a list of events - intervals on which the event occurs, or a single event with repeating criteria or just repeating criteria with no actual event.
RIM MappingGTS
Schedule.event
DefinitionIdentifies specific time periods when the event should occur
Control0..*
TypePeriod
Must Understandtrue
RequirementsSome schedules are just explicit lists of times
Schedule.repeat
DefinitionIdentifies a repeating pattern to the intended time periods.
Control0..1
Must Understandtrue
RequirementsMany schedules are determined by regular repetitions
CommentsIf present, the Schedule.event indicates the time of the first occurrence.
Schedule.repeat.frequency
DefinitionIndicates how often the event should occur.
Control0..1
Typeinteger
Must Understandtrue
Schedule.repeat.when
DefinitionIdentifies the occurrence of daily life that determine timing
Control0..1
Typecode from EventTiming
Must Understandtrue
RequirementsTimings are frequently determined by occurrences such as waking, eating and sleep
Schedule.repeat.duration
DefinitionHow long each repetition should last
Control1..1
Typedecimal
Must Understandtrue
RequirementsSome activities are not instantaneous and need to be maintained for a period of time
Schedule.repeat.units
Definitionthe units of time for the duration
Control1..1
Typecode from UnitsOfTime
Must Understandtrue
Schedule.repeat.count
DefinitionA total count of the desired number of repetitions
Control0..1
Typeinteger
Must Understandtrue
RequirementsRepetitions may be limited by end time or total occurrences
CommentsAn end need not be specified
Schedule.repeat.end
DefinitionWhen to stop repeats
Control0..1
TypedateTime
Must Understandtrue
RequirementsRepetitions may be limited by end time or total occurrences
CommentsAn end need not be specified

5.5.1: Extensibility - Definitions

Extension
DefinitionOptional Extensions Element - found in all resources
Control1..1
RequirementsThe ability to add extensions in a structured way is what keeps FHIR resources simple
RIM MappingN/A
Extension.url
DefinitionSource of the definition for the extension code - a logical name or a URL
Control1..1
Typeuri
CommentsThe definition may point directly to a computable or human readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition should be version specific. This will ideally be the URI for the Resource Profile defining the extension, with the code for the extension after a #
RIM MappingN/A
Extension.ref
DefinitionInternal reference to context of the extension - a pointer to an xml:id in the same resource
Control0..1
Typeidref
CommentsThe order that extensions appear in is significant - where multiple extensions have the same ref id, they extend the target element in the order in which they appear in the extensions
RIM MappingN/A
Extension.mustUnderstand
DefinitionIf this element is set to true, then the containing resource element and its children are only safe to process if the reader understands this extension.
Control0..1
Typeboolean
Must Understandtrue
CommentsThis value should be set to true if the value of the extension qualifies or negates data in other content
RIM MappingN/A
Extension.value[x]
DefinitionValue of extension - may be a resource or one of a constraint set of the data types (see Extensibility in the spec for list)
Control0..1
Type*
RIM MappingN/A
Extension.extension
DefinitionNested Extensions - further extensions that are part of the extension
Control0..*
TypeExtension
RIM MappingN/A

5.6: Resource Formal Definitions: Agent

The formal definitions for the Agent (§3.1) resource.

Agent
DefinitionA person who represents an organization, and is authorized to perform actions on its behalf
Control1..1
RequirementsNeed to track doctors, staff, locums etc for both healthcare providers, funders, etc.
RIM MappingRole
v2 MappingPRD (as one example)
Agent.person
DefinitionThe person who acts as the agent
Control0..1
TypeResource(Person)
Must Understandtrue
RequirementsNeed to be able to track the person who represents the organisation separately
v2 MappingPRD-2
Agent.organization
DefinitionThe organisation that is being represented
Control0..1
TypeResource(Organization)
Must Understandtrue
RequirementsNeed to be able to track the represented organisation separately
v2 MappingPRD-10 (-> 14)
Agent.role
DefinitionThe way in which the person represents the organisation - what role do they have?
Control0..*
TypeCodeableConcept from AgentRole
Must Understandtrue
RequirementsNeed to know what authority the agent has - what can they do?
CommentsA person may have more than one role. At least one role is required - why have an agent who isn't actually an agent?
v2 MappingPRD-1
Agent.specialty
DefinitionRepresents a specific specialty within the healthcare facility under which the agent acts
Control0..*
TypeCodeableConcept from AgentSpecialty
Agent.period
DefinitionThe time period during which the agent was/is authorised to represent the organisation.
Control0..1
TypePeriod
RequirementsAgencies are often for a limited period of time, and can be revoked. Even after the agencies is revoked, the fact that it existed must still be recorded
v2 MappingPRD-8/9
Agent.identifier
DefinitionAn identifier that applies to this person in this role
Control0..*
TypeHumanId
Must Understandtrue
RequirementsOften, specific identifies are assigned for the agent
CommentsThe identifier changes when a new/different person steps into the same role
v2 MappingPRD-7
Agent.address
DefinitionA postal address for this person playing this role
Control0..*
TypeAddress
Commentsi.e. the address is not their personal address. For many agents, this is the same as their work address
v2 MappingPRD-3
To DoWhat about place? (PRD-4)
Agent.contact
DefinitionA contact detail address for this person playing this role
Control0..*
TypeContact
Commentsi.e. the contact is not their personal contact. For many agents, this is the same as their work contacts. Note that a person may choose to use a personal mobile phone (for instance) for their contact in a given role - in this case, the contact detail will be repeated in the agent resource
v2 MappingPRD-5
Agent.extension
DefinitionSee Extensions
Control0..*
TypeExtension
Agent.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.7: Resource Formal Definitions: Animal

The formal definitions for the Animal (§3.2) resource.

Animal
DefinitionAn animal (non-human) that has relevance to the care process
Control1..1
RequirementsNeed to be able to track animals - veterinary medicine is an active user of HL7 standards. Animals are also relevant in clinical studies, as "animal helpers", etc.
CommentsAnimals differ from Persons because you need to track species and strain, and also different kind of relationships - owners
RIM MappingNonPersonLivingSubject(classCode=ANM, determinerCode=INST)
v2 MappingPID
Animal.identifier
DefinitionIdentifier for the animal that is used to identify the person across multiple disparate systems and also for face to face identification of the person
Control0..*
TypeHumanId
Must Understandtrue
RequirementsAnimals are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the animal
RIM Mapping.scopes[Role](classCode=IDENT)
v2 MappingPID.3
Animal.name
DefinitionA label assigned by humans to this specific individual animal
Control0..*
TypeHumanName
Must Understandtrue
RequirementsSome animals have names, which are assigned by humans for human reasons, and follow human naming patterns
RIM Mapping.name
v2 MappingPID.5
Animal.dob
DefinitionThe year, date or date-time on which the animal was born
Control0..1
TypedateTime
Must Understandtrue
RequirementsAge of the animal drives many clinical processes.
RIM Mapping.dateOfBirth
v2 MappingPID.7
To DoRIM change to support human date (time only - but is this needed in this context?)
Animal.species
DefinitionIdentifies the high level categorization of the kind of animal
Control0..1
TypeCodeableConcept from AnimalSpecies
Must Understandtrue
RequirementsNeed to know what kind of animal
RIM Mapping.playedRole[classCode=GEN].scoper[classCode=ANM, determinerCode=KIND].code
v2 MappingPID.35
Animal.breed
DefinitionIdentifies the detailed categorization of the kind of animal.
Control0..1
TypeCodeableConcept from AnimalBreed
Must Understandtrue
RequirementsMay need to know the specific kind within the species
RIM Mapping.code
v2 MappingPID.37
To DoNot sure why this is ED in the RIM. Should probably change to SC.
Animal.gender
DefinitionGender for the Animal
Control0..1
TypeCodeableConcept from AnimalGender
Must Understandtrue
RequirementsFor managing the animal, including appropriate housing.
CommentsNote that some animals have additional genders not encountered in humans
RIM Mapping.administrativeGenderCode
v2 MappingPID.8
Animal.genderStatus
DefinitionIndicates the current state of the animal's reproductive organs
Control0..1
TypeCodeableConcept from AnimalGenderStatus
RequirementsGender status can affect housing and animal behavior
RIM Mapping.genderStatusCode
v2 MappingN/A
Animal.relatedEntity
DefinitionPeople and animals that hold a relevant relationship to the animal
Control0..*
RequirementsGenetic relationships between animals can be relevant for some use-cases, but the primary use-case is to identify the humans affiliated with an animal
RIM Mapping.scopes[Role](classCode=REL).player
v2 MappingROL
Animal.relatedEntity.identifier
DefinitionHuman-displayable identifier associated with the referenced entity
Control0..1
TypeHumanId
RequirementsAllows reliable identification of and potentially retrieval of additional information about the related entity
RIM Mapping.id
v2 MappingROL.4
Animal.relatedEntity.role
DefinitionIdentifies how the referenced entity is related to the animal
Control1..1
TypeCodeableConcept from AnimalRelationship
RequirementsAllows choosing between multiple related entities
RIM Mapping.code
v2 MappingROL.3
Animal.relatedEntity.name
DefinitionName of the related entity
Control0..1
TypeHumanName
RequirementsThis is the human-recognizable label for the entity and indicates how to address a human
RIM Mapping.name
v2 MappingROL.4
Animal.relatedEntity.address
DefinitionIndicates where the related entity can be found or reached
Control0..*
TypeAddress
RequirementsAllows contacting the related entity
CommentsUsually for human related entities, but could be the address of a related animal
RIM Mapping.addr
v2 MappingROL.11
Animal.relatedEntity.contact
DefinitionIndicates how the related entity can be contacted
Control0..*
TypeContact
RequirementsAllows contacting the related entity
CommentsUsually for human related entities
RIM Mapping.telecom
v2 MappingROL.12
Animal.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mapping[varies]
Animal.text
Definition
Control1..1
TypeNarrative
To Do.text

5.8: Resource Formal Definitions: Conformance

The formal definitions for the Conformance (§2.9) resource.

Conformance
DefinitionA conformance statement about how an application or implementation supports FHIR or the set of requirements for a desired implementation
Control1..1
RIM MappingN/A
To DoNeed to capture wire format (XML vs. JSON) and character set. Probably separately for each rest, messaging & document repetition.
Conformance.date
DefinitionDate that the conformance statement is published
Control1..1
TypedateTime
RIM MappingN/A
Conformance.publisher
DefinitionThe organization that publishes this conformance statement
Control1..1
RIM MappingN/A
Conformance.publisher.name
DefinitionName of Organization
Control1..1
Typestring
RIM MappingN/A
Conformance.publisher.address
DefinitionAddress of Organization
Control0..1
TypeAddress
RIM MappingN/A
Conformance.publisher.contact
DefinitionContacts for Organization relevant to this conformance statement. May be website, email, phone numbers, etc.
Control0..*
TypeContact
RIM MappingN/A
Conformance.implementation
DefinitionDescribes the implementation that is covered by this conformance statement. Used when the profile describes the capabilities of a specific implementation instance.
Control0..1
RIM MappingN/A
Conformance.implementation.description
DefinitionInformation about the specific implementation
Control1..1
Typestring
RIM MappingN/A
Conformance.implementation.url
DefinitionThe base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces.
Control0..1
Typeuri
RIM MappingN/A
Conformance.software
DefinitionDescribes the software that is covered by this conformance statement. Used when the profile describes the capabilities of a particular software version, independent of an installation.
Control0..1
RIM MappingN/A
Conformance.software.name
DefinitionName software is known by
Control1..1
Typestring
RIM MappingN/A
Conformance.software.version
DefinitionVersion covered by this statement
Control0..1
Typestring
CommentsIf possible, version should be specified, as statements are likely to be different for different versions of software
RIM MappingN/A
Conformance.software.releaseDate
DefinitionDate this version of the software released
Control0..1
TypedateTime
RIM MappingN/A
Conformance.proposal
DefinitionDescribes the proposed solution described by this conformance statement. Used when the profile describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.
Control0..1
RIM MappingN/A
Conformance.proposal.description
DefinitionProvides details about the intention and scope of the proposal
Control1..1
Typestring
RIM MappingN/A
Conformance.version
DefinitionThe version of the FHIR specification on which this conformance profile is based
Control1..1
Typeid
RIM MappingN/A
Conformance.acceptUnknown
DefinitionWhether the application accepts unknown non-"must understand" elements as part of a resource. This does not include extensions, but genuine new additions to a resource
Control1..1
Typeboolean
RIM MappingN/A
Conformance.rest
DefinitionDefines the restful capabilities of the solution, if any
Control0..*
CommentsMultiple repetitions allow definition of both client and server behaviors or possibly behaviors under different configuration settings (for software or requirements statements)
RIM MappingN/A
Conformance.rest.mode
DefinitionIdentifies whether this portion of the statement is describing ability to initiate or receive restful operations
Control1..1
Typecode from RestfulConformanceMode
RIM MappingN/A
Conformance.rest.documentation
DefinitionProvides documentation about the system's restful capabilities that apply across all applications, such as security
Control0..1
Typestring
To DoDo we need something more formal for security capabilities?
Conformance.rest.resource
DefinitionIdentifies the restful capabilities of the solution for a specific resource type
Control1..*
CommentsMax of one repetition per resource type
RIM MappingN/A
Conformance.rest.resource.type
DefinitionIdentifies the resource exposed via the restful interface
Control1..1
Typecode from ResourceType
RIM MappingN/A
Conformance.rest.resource.profile
DefinitionIdentifies the profile that describes the solution's support for the resource, including any constraints on cardinality, bindings, lengths or other limitations, along with the search parameters supported
Control0..1
Typeuri
RIM MappingN/A
Conformance.rest.resource.operation
DefinitionIdentifies a restful operation supported by the solution
Control1..*
CommentsThe 'search' operation is handled separately
RIM MappingN/A
Conformance.rest.resource.operation.code
DefinitionIdentifies which operation is supported
Control1..1
Typecode from RestfulOperation
RIM MappingN/A
Conformance.rest.resource.operation.documentation
DefinitionProvides guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'
Control0..1
Typestring
RequirementsREST allows a degree of variability in the implementation of RESTful solutions that is useful for exchange partners to be aware of.
RIM MappingN/A
Conformance.rest.resource.history
DefinitionA flag for whether the server is able to return past versions as part of the vRead operation
Control0..1
Typeboolean
CommentsIt is useful to support the vRead operation for current operations, even if past versions aren't available
RIM MappingN/A
Conformance.messaging
DefinitionDescribes the messaging capabilities of the solution
Control0..*
CommentsMultiple repetitions allow the documentation of multiple endpoints per solution
RIM MappingN/A
Conformance.messaging.endpoint
DefinitionThe address to which messages and/or replies are to be sent.
Control0..1
Typeuri
CommentsCan be just an identifier for solutions that do not use network addresses for routing.
RIM MappingN/A
Conformance.messaging.documentation
DefinitionProvides documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner.
Control0..1
Typestring
Conformance.messaging.event
DefinitionDescribes the solution's support for an event at this end point.
Control1..*
CommentsThe same event may be listed up to two times - once as sender and once as receiver.
RIM MappingN/A
To DoNeed to add follow-ups and need to do more to flesh out messaging dynamic model
Conformance.messaging.event.code
DefinitionIdentifies the supported messaging event
Control1..1
Typecode from MessageEvent
RIM MappingN/A
To DoMay need profile id as well if profiles can define message events
Conformance.messaging.event.mode
DefinitionThe mode of this event declaration - whether application is sender or receiver
Control1..1
Typecode from ConformanceEventMode
RIM MappingN/A
Conformance.messaging.event.protocol
DefinitionIdentifies the messaging transport protocol(s) supported by this endpoint
Control0..*
TypeCoding from MessageTransport
To DoLoosen this to "extensible" once tooling supports that.
Conformance.messaging.event.focus
DefinitionIdentifies the resource associated with the event. This is the resource that defines the event.
Control1..1
Typecode from ResourceType
CommentsThis must be provided if the event type supports multiple different resource types
RIM MappingN/A
Conformance.messaging.event.request
DefinitionInformation about the request for this event
Control0..1
Typeuri
RIM MappingN/A
Conformance.messaging.event.response
DefinitionInformation about the response for this event
Control0..1
Typeuri
RIM MappingN/A
Conformance.messaging.event.documentation
DefinitionGuidance on how this event is handled, such as internal system trigger points, business rules, etc.
Control0..1
Typestring
Conformance.document
DefinitionA document definition
Control0..*
RIM MappingN/A
Conformance.document.mode
DefinitionThe mode of this event declaration - whether application is sender or receiver
Control1..1
Typecode from DocumentMode
RIM MappingN/A
Conformance.document.documentation
DefinitionDescribes how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc.
Control0..1
Typestring
RIM MappingN/A
Conformance.document.profile
DefinitionConstraint on a resource used in the document
Control1..1
Typeuri
CommentsThe first resource is the document resource
RIM MappingN/A
Conformance.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM MappingN/A
Conformance.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative
RIM MappingN/A

5.9: Resource Formal Definitions: Coverage

The formal definitions for the Coverage (§3.3) resource.

Coverage
DefinitionFinancial instrument by which payment information for health care
Control1..1
RequirementsHealth care programs and insurers are significant payors of health service costs
RIM MappingCoverage
Coverage.issuer
DefinitionThe program or plan underwriter or payor.
Control1..1
TypeResource(Organization)
Must Understandtrue
RequirementsNeed to identify the issuer to target for processing and for coordination of benefit processing.
Coverage.period
DefinitionTime period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force.
Control0..1
TypePeriod
Must Understandtrue
Coverage.type
DefinitionThe type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health.
Control1..1
TypeCoding from ActCoverageTypeCode
Must Understandtrue
RequirementsThe order of application of coverages is dependent on the types of coverage.
Coverage.identifier
DefinitionThe main, may be the only, identifier for the coverage - often referred to as a Subscriber Id, Certificate number or Personal Health Number or Case ID.
Control1..1
TypeIdentifier
Must Understandtrue
RequirementsThis value may uniquely identify the coverage or it may be used in conjunction with the additional identifiers below.
Coverage.plan
DefinitionIdentifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
Control0..1
TypeIdentifier
Must Understandtrue
Coverage.subplan
DefinitionIdentifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID.
Control0..1
TypeIdentifier
Must Understandtrue
Coverage.dependent
DefinitionA unique identifier for a dependent under the coverage.
Control0..1
Typeinteger
Must Understandtrue
RequirementsFor some coverage a single identifier is issued to the PolicyHolder and dependent number issues to each to each of their dependents to track and manage the plan.
Coverage.sequence
DefinitionAn optional counter for a particular instance of the identified coverage which increments upon each renewal.
Control0..1
Typeinteger
Must Understandtrue
RequirementsSome coverage, for example social plans, may be offered in short time increments, for example for a week or a month at a time, so while the rest of the plan details and identifiers may remain constant over time, the instance is incremented with each renewal and provided to the covered party on their 'card'.
Coverage.planHolder
DefinitionPlanholder information
Control1..1
Coverage.planHolder.name
DefinitionThe name of the PolicyHolder
Control1..1
TypeHumanName
Must Understandtrue
RequirementsUsed to validate coverage
Coverage.planHolder.address
DefinitionThe mailing address, typically home, of the PolicyHolder
Control1..1
TypeAddress
Must Understandtrue
Coverage.planHolder.birthdate
DefinitionThe date of birth of the PolicyHolder
Control1..1
Typedate
Must Understandtrue
RequirementsUsed to validate coverage
Coverage.extension
DefinitionSee Extensions
Control0..*
TypeExtension
Coverage.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.10: Resource Formal Definitions: Device

The formal definitions for the Device (§3.4) resource.

Device
DefinitionThis resource identifies a manufactured entity that is used in the provision of healthcare. The device may be a machine, an insert, a computer, an application, etc
Control1..1
Device.type
DefinitionDescribes what kind of device that this
Control1..1
TypeCodeableConcept from DeviceKind
Must Understandtrue
Device.manufacturer
DefinitionThe name of the manufacturer
Control0..1
Typestring
Device.model
DefinitionThe "model" - an identifier assigned by the manufacturer to identify the product by it's type. This number is shared by the all devices sold as the same type
Control0..1
Typestring
Device.version
DefinitionThe version of the device, if the device has multiple releases under the same model, or if the device is software or carries firmware
Control0..1
Typestring
Device.serialNumber
DefinitionThe serial number assigned by the organisation when the device was manufactured
Control0..1
Typestring
Device.owner
DefinitionThe organization that is responsible for the provision and ongoing maintenance of the device
Control0..1
TypeResource(Organization)
Device.assignedId
DefinitionThe identifier assigned to the device by the organisation that owns/manages the device
Control0..*
TypeIdentifier
CommentsOften fixed to the device as a barcode. May include names given to the device in local usage
Device.location
DefinitionThe resource may be found in a literal location (i.e. GPS coordinates), a logical place (i.e. "in/with the patient"), or a coded location
Control0..1
TypeResource(Location)
Device.contact
DefinitionContact details for an organization or a particular human that is responsible for the device
Control0..*
TypeContact
Commentsused for troubleshooting etc
Device.address
DefinitionA network address on which the device may be contacted directly
Control0..1
TypeContact
Commentsif the device is running a FHIR server, the network address should be the root URL from which a conformance statement may be retrieved
Device.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mapping[varies]
Device.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.11: Resource Formal Definitions: Document

The formal definitions for the Document (§2.3) resource.

Document
DefinitionA documentation of healthcare-related information that is assembled together into a single statement of meaning that establishes its own context. A document is composed of a set of resources that include both human and computer readable portions. A human may attest to the accuracy of the human readable portion, and may authenticate and/or sign the entire whole. A document may be kept as a set of logically linked resources, or they may be bundled together in an atom feed
Control1..1
RequirementsFor document based framework
CommentsWhile the focus of this specification is on patient-specific clinical documents, this resource can also apply to other healthcare-related documents such as study protocol designs, healthcare invoices and other activities that are not necessarily patient-specific or clinical
RIM MappingDocument[classCode="DOC" and moodCode="EVN" and isNormalAct()]
To DoConfidentiality? Language? Consent? Signatures
Document.information
DefinitionDefines the medata and context for this document
Control1..1
TypeDocumentInformation
Must Understandtrue
Document.information.id
DefinitionLogical Identifier for the document, assigned when created. This identifier stays constant when subsequent versions of the document are created
Control0..1
TypeIdentifier
Must Understandtrue
Commentssee discussion in resource definition for how these relate
RIM MappingDocument.id / Document.setId
Document.information.versionId
DefinitionVersion specific identifier for the document, assigned when created. This identifier changes when subsequent versions of the document are created
Control0..1
TypeIdentifier
Must Understandtrue
Commentssee discussion in resource definition for how these relate
RIM MappingDocument.id
Document.information.instant
Definitionthe document creation time, when the document first came into being. Where the document is a transform from an original document in some other format, the ClinicalDocument.effectiveTime is the time the original document is created.
Control1..1
Typeinstant
Must Understandtrue
RequirementsCreation time is used for tracking, organizing versions and searching.
RIM Mapping./effectiveTime[type="TS"]
Document.information.class
DefinitionThe code specifying the particular kind of document (e.g., Prescription, Discharge Summary, Report).
Control0..1
TypeCoding
Comments It is suggested that the XDS Affinity Domain draws these values from a coding scheme providing a coarse level of granularity (about 10 to 100 entries). Shall have a single value. This should be an extension
Document.information.type
DefinitionSpecifies the particular kind of document (e.g. History and Physical, Discharge Summary, Progress Note)
Control1..1
TypeCodeableConcept from DocumentType
Must Understandtrue
RequirementsKey metadata element describing the document, used in searching/filtering.
RIM Mapping./code
Document.information.title
DefinitionOfficial human-readable label for the document
Control0..1
Typestring
RequirementsHelps humans to assess whether the document is of interest
CommentsIt's commonly the case that clinical documents do not have a title and are collectively referred to by the display name of Document.type (e.g. a "consultation" or "progress note"). Where these display names are rendered to the clinician or where the document has a unique title, the Document.title value should be used
RIM Mapping./title
Document.information.confidentialityCode
DefinitionThe code specifying the level of confidentiality of the XDS Document. These codes are specific to an XDS Affinity Domain.
Control1..1
TypeCoding
CommentsEnforcement and issues related to highly sensitive documents are beyond the scope of XDS (see security section). confidentialityCode is part of a codification scheme and value set enforced by the Document Registry.
Document.information.subject
DefinitionIdentifies the primary subject of the document.
Control1..1
TypeResource(Person|Patient|Group|Device)
Must Understandtrue
RequirementsEssential metadata for searching for the document, identifies who the document applies to
CommentsFor clinical documents, this is usually the patient.
RIM Mappingunique(./participation[typeCode="SBJ" and isNormalParticipation]/role[typeCode="PAT"]) or unique(./participation[typeCode="SBJ" and isNormalParticipation]/role[typeCode="IDENT"]/player[determinerCode="INST" and classCode=("DEV", "ORG") and isNormalEntity()])
To DoNeed to extend this to support documents with other types of subjects. Also rationalize with encounter & context elements
Document.information.author
DefinitionIdentifies who is responsible for the information in the document. (Not necessarily who typed it in.)
Control1..*
TypeResource(Person|Agent)
RequirementsIdentifies who is responsible for the content.
RIM Mapping./participation[typeCode="AUT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]
Document.information.attester
DefinitionA participant who has attested to the accuracy of the document
Control0..*
RequirementsIdentifies responsibility for the accuracy of the document content.
RIM Mapping./participation[typeCode="AUTHEN" and isNormalParticipation]
Document.information.attester.mode
DefinitionThe type of attestation the authenticator offers
Control1..1
Typecode from DocumentAttestationMode
RequirementsIndicates the level of officialness of the attestation.
RIM Mappingunique(./modeCode)
Document.information.attester.time
DefinitionWhen document was attested by the party
Control0..1
TypedateTime
RequirementsIdentifies when the information in the document was deemed accurate. (Things may have changed since then.)
RIM Mapping./time[type="TS" and isNormalDatatype()]
Document.information.attester.party
DefinitionWho attested the document in the specified way
Control0..1
TypeResource(Person|Agent|Organization)
RequirementsIdentifies who has taken on the responsibility for accuracy of the document content.
RIM Mapping./role[classCode="ASSIGNED" and isNormalRole]/player[determinerCode="INST" and classCode=("DEV", "PSN") and isNormalEntity()] or ./role[classCode="ASSIGNED" and isNormalRole and not(player)]/scoper[determinerCode="INST" and classCode="ORG" and isNormalEntity()]
Document.information.custodian
DefinitionIdentifies the organization or group who is responsible for ongoing maintenance of and access to the document.
Control0..1
TypeResource(Organization)
RequirementsIdentifies where to go to find the current version, where to report issues, etc.
RIM Mapping./participation[typeCode="RCV" and isNormalParticipation]/role[classCode="CUST" and isNormalRole and not (player)]/scoper[classCode="ORG" and determinerCode="INST" and isNormalEntity()]
Document.information.event
DefinitionThe main event/act/item, such as a colonoscopy or an appendectomy, being documented
Control0..1
RequirementsProvides context for the document and creates a linkage between a resource describing an event and the document created describing the event.
CommentsThe event needs to be consistent with the type element, though can provide further information if desired
RIM Mappingunique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and isNormalAct])
Document.information.event.code
DefinitionThis list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
Control0..*
TypeCodeableConcept
CommentsAn event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they shall not conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as “key words” for certain types of queries.
Document.information.event.period
DefinitionThe period of time covered by the document. There is no assertion that the document is a complete representation for this period, only that it documents events during this time
Control0..1
TypePeriod
Document.information.event.detail
DefinitionFull details for the event(s) the document concents
Control0..*
TypeResource(Any)
Document.information.encounter
DefinitionDescribes the clinical encounter or type of care this document is associated with.
Control0..1
TypeResource(Admission|InterestOfCare)
RequirementsProvides context for the document and supports searching.
RIM Mappingunique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and classCode=("ENC", "PCPR") and isNormalAct])
Document.information.facilityType
DefinitionThis code represents the type of organizational setting of the clinical encounter during which the documented act occurred
Control0..1
TypeCodeableConcept
CommentsIn some cases, the setting of the encounter is inherent in the typeCode, such as "Diabetes Clinic Progress Note". healthcareFacilityTypeCode shall be equivalent to or further specialize the value inherent in the typeCode; for example, where the typeCode is simply "Clinic Progress Note" and the value of healthcareFacilityTypeCode is "private clinic". The value shall not conflict with the value inherent in the typeCode, as such a conflict would create an ambiguous situation
Document.information.practiceSetting
DefinitionThe code specifying the clinical specialty where the act that resulted in the document was performed (e.g., Family Practice, Laboratory, Radiology).
Control0..1
TypeCodeableConcept
CommentsIt is suggested that the XDS Affinity Domain draws these values from a coding scheme providing a coarse level of granularity (about 10 to 100 entries)
Document.replaces
DefinitionIdentifies the document this document supersedes, if any.
Control0..1
Typeid
Must Understandtrue
RequirementsUsed to establish relationships between documents to determine which is the most current/authoritative.
RIM Mappingunique(highest(./outboundRelationship[typeCode="RPLC and isNormalActRelationship()], priorityNumber)/target[classCode="DOC" and moodCode="EVN" and isNormalAct]/id[isNormalDatatype() and displayable="false" and scope="OBJ" and reliability="ISS"])
Document.provenance
DefinitionAdditional provenance about the document and the resources that are the sections
Control0..*
TypeResource(Provenance)
Must Understandtrue
Document.stylesheet
DefinitionA fixed stylesheet to use when rendering the documents
Control0..1
TypeAttachment
RIM MappingN/A
Document.representation
DefinitionAn alternative representation of the document that can be used in place of the html based rendering
Control0..1
TypeAttachment
RequirementsSupport for CDA level 1
CommentsTypically, this is application/pdf
Document.section
DefinitionIdentifies a main topic within the document's table of contents
Control0..*
RequirementsAdds organization and human navigability to the information in the document.
RIM Mapping./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
Document.section.code
DefinitionA code identifying the kind of content contained within the section
Control0..1
TypeCodeableConcept from DocumentSectionCode
RequirementsProvides computable standardized labels to topics within the document.
RIM Mapping./code
Document.section.subject
DefinitionIdentifies the primary subject of the section.
Control0..1
TypeResource(Patient|Group|Device)
Must Understandtrue
RequirementsSubjects can vary, for example mother/baby, patient & relatives, etc.
RIM Mappingunique(./participation[typeCode="SBJ" and isNormalParticipation]/role[typeCode="PAT"]) or unique(./participation[typeCode="SBJ" and isNormalParticipation]/role[typeCode="IDENT"]/player[determinerCode="INST" and classCode=("DEV", "ORG") and isNormalEntity()])
Document.section.content
DefinitionIdentifies the discrete data that provides the content for the section.
Control0..1
TypeResource(Any)
Must Understandtrue
RequirementsConveys the discrete data associated with the document.
CommentsBecause documents represent point-in-time snapshots, resource references should generally be to a specific version.
RIM Mappingunique(./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode!="DOCSECT" and isNormalAct])
To DoThis may need to be 0..*. May need to consider adding text here to to account for missing resources.
Document.section.section
DefinitionIdentifies a subtopic within the section as part of the document's table of contents
Control0..*
Type@Document.Section
RequirementsAllows more complex document structures
RIM Mapping./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
Document.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM MappingN/A
Document.text
Definition
Control1..1
TypeNarrative
Must Understandtrue
RIM Mapping./text[mimeType="text/plain"]

5.12: Resource Formal Definitions: Group

The formal definitions for the Group (§3.5) resource.

Group
DefinitionRepresents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized. I.e. A collection of entities that isn't an Organization
Control1..1
RIM MappingEntity[determinerCode="GRP" or determinerCode="GRP_KIND"]
To DoWe need determiner codes that indicate we're talking about a group even when we haven't specified a specific quantity
Group.identifier
DefinitionA unique business identifier for this group
Control0..1
TypeIdentifier
RequirementsAllows the group to be referenced
RIM Mappingunique(./id[displayable="true" and scope="OBJ"])
Group.type
DefinitionIdentifies the broad classification of the kind of resources the group includes
Control1..1
Typecode from GroupType
Must Understandtrue
RequirementsIdentifies what type of resources the group is made up of
RIM Mappingperson: ./classCode="PSN" animal: ./classCode="ANM" device: ./classCode="DEV" medication: ./classCode="MMAT" and ./playedRole[isNormalRole() and classCode="THER"] food: ./classCode="FOOD"
Group.actual
DefinitionIf true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals
Control1..1
Typeboolean
Must Understandtrue
RequirementsThere are use-cases for groups that define specific collections of individuals, and other groups that define "types" of intended individuals. The requirements for both kinds of groups are similar, so we use a single resource, distinguished by this flag.
RIM Mappingtrue: ./determinerCode="GRP" false: ./determinerCode="GRP_KIND"
Group.code
DefinitionProvides a specific type of resource the group includes. E.g. "cow", "syringe", etc.
Control0..1
TypeCodeableConcept from GroupCode
CommentsThis would generally be omitted for Person resources
RIM Mapping./code
Group.name
DefinitionA label assigned to the group for human identification and communication
Control0..1
Typestring
RequirementsUsed to identify the group in human communication
RIM Mapping./name[type="ST"]
Group.quantity
DefinitionA count of the number of resource instances that are part of the group
Control0..1
Typeinteger
RequirementsGroup size is a common defining characteristic
RIM Mapping./quantity
Group.characteristic
DefinitionIdentifies the traits shared by members of the group
Control0..*
RequirementsNeeds to be a generic mechanism for identifying what individuals can be part of a group
RIM Mapping./playedRole[isNormalRole()]/participation[isNormalParticipation() and typeCode="SBJ"]/act[isNormalAct and classCode="OBS" and moodCode="EVN"]
Group.characteristic.type
DefinitionIdentifies the kind of trait being asserted
Control1..1
TypeCodeableConcept from GroupCharacteristicType
Must Understandtrue
RequirementsNeed a formal way of identifying the characteristic being described
RIM Mapping./code
Group.characteristic.value[x]
DefinitionThe value of the trait that holds (or does not hold - see 'exclude') for members of the group
Control1..1
TypeCodeableConcept|string|boolean from GroupCharacteristicValue
Must Understandtrue
RequirementsThe value of the characteristic is what determines group membership.
RIM Mapping./value
Group.characteristic.exclude
DefinitionIf true, indicates the characteristic is one that is NOT held by members of the group
Control0..1
Typeboolean
Must Understandtrue
RequirementsSometimes group membership is determined by characteristics not possessed
RIM Mapping./valueNegationInd
Group.member
DefinitionIdentifies the resource instances that are members of the group.
Control0..*
TypeResource(Person|Animal|Device|Medication|Food)
RequirementsOften the only thing of interest about a group is "who's in it"
RIM Mapping./scopedRole[isNormalRole() and classCode="MBR"]/player
Group.extension
DefinitionSee Extensions
Control0..*
TypeExtension
Group.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.13: Resource Formal Definitions: IssueReport

The formal definitions for the IssueReport (§2.4) resource.

IssueReport
DefinitionError, warning or information messages that result from a system action
Control1..1
CommentsCan result from the failure of a REST call or be part of the response message returned from a request message. If sent with extensions overriding particular issues, might even appear as part of a request message.
IssueReport.issue
DefinitionAn error, warning or information message that results from a system action
Control1..*
RIM MappingAcknowledgementDetail or Observation[classCode="ALRT" and moodCode="EVN"]
v2 MappingERR
IssueReport.issue.severity
DefinitionIndicates whether the issue indicates a variation from successful processing
Control1..1
Typecode from IssueSeverity
Must Understandtrue
RequirementsIndicates how relevant the issue is to the overall success of the action.
RIM Mapping./typeCode[parent::AcknowledgmentDetail] or unique(./inboundRelationship[parent::Observation and typeCode='SUBJ' and isNormalActRelationship()]/source[classCode="OBS" and moodCode="EVN" and implies(code, ActCode#SEV and isNormalAct())/value[xsi:type="CD"]
v2 MappingERR-4
IssueReport.issue.type
DefinitionA code indicating the type of error, warning or information message.
Control0..1
TypeCodeableConcept from IssueType
RequirementsExpresses the issue in a computer-friendly way, allowing the requesting system to behave differently based on the type of issue.
CommentsCodes should only be defined at a level of granularity that reasonably allows distinct actions to be taken by the receiving system. If the response behavior of all systems is the same for two codes, the codes might as well be merged. The human-meaningful content of the issue is conveyed in .text.
RIM Mapping./code
v2 MappingERR-3, ERR-5
To DoDo we want to define an initial set of codes, or should we leave all of this to profiles?
IssueReport.issue.details
DefinitionAdditional description of the issue
Control0..1
Typestring
Commentstypically this field is used to provide details human readable information about the error
RIM Mapping./text[parent::AcknowledgmentDetail]
v2 MappingERR-8
IssueReport.issue.location
DefinitionA simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the request message that caused this issue to be raised.
Control0..*
Typestring
RequirementsAllows systems to highlight or otherwise guide users to elements implicated in issues to allow them to be fixed more easily.
CommentsThe root of the XPath is the Atom feed for documents & messages, the request resource when responding to RESTful commands. Each XPath must resolve to a single node. The XPath syntax is used whether the referenced instance Is expressed in XML or JSON.
RIM Mapping./location[parent::AcknowledgmentDetail]
v2 MappingERR-2
IssueReport.extension
DefinitionSee Extensions
Control0..*
TypeExtension
IssueReport.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.14: Resource Formal Definitions: LabReport

The formal definitions for the LabReport (§3.6) resource.

LabReport
DefinitionThe findings and interpretation of pathology tests performed on tissues and body fluids. This is typically done in a laboratory but may be done in other environments such as at the point of care
Control1..1
RequirementsUse to record any pathology test result, including the result of a test on a specimen taken as part of a composite procedure or operation.
CommentsNot to be used for reporting on non-pathology test results e.g. diagnostic imaging, ECG or respiratory function tests. Not to be used to represent an entire cumulative report. This Pathology test result archetype represents only one of the result sets that is usually viewed as a vertical in a cumulative test report. A cumulative report is a view that is constructed from the results represented by multiple OBSERVATION archetypes. This archetype is suitable for representation of general pathology test results, but not intended to cover full synoptic reports. For these, additional resources are required to represent the data properly
RIM MappingObservation[isNormalAct() and subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and domainMember("LabObservationType", code)]
LabReport.status
DefinitionThe status of the pathology test result as a whole
Control1..1
Typecode from LabReportStatus
Must Understandtrue
RequirementsLabs routinely issue provisional/incomplete reports, or withdraw previously released reports
RIM Mappingregistered: ./statusCode[isNormalDatatype()]="new"; interim: ./statusCode[isNormalDatatype()]="active"; final: ./statusCode[isNormalDatatype()]="complete" and not(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseLabOrder", code) and isNormalAct()]); amended: ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseLabOrder", code) and isNormalAct() and statusCode="completed"]; cancelled: ./statusCode[isNormalDatatype()]="aborted"; withdrawn: ./statusCode[isNormalDatatype()]="obsolete"
LabReport.issued
DefinitionThe date and/or time that the result was issued from the source for the recorded ‘Test result status
Control1..1
Typeinstant
Must Understandtrue
RequirementsClinicians need to be able to check the date that the report was released
CommentsMay be different from LabReport.updated, because that is the status of this record, not the report the record is about
RIM MappingfirstOf(unique(./participation[isHighest(priorityCode) and typeCode="VRF" and isNormalParticipation()]/time[type="TS"]), unique(./participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation()]/time[type="TS"]))
LabReport.patient
DefinitionThe patient about who the report is about
Control1..1
TypeResource(Patient)
Must Understandtrue
RequirementsMust know the patient context
RIM Mappingunique(./participation[isHighest(priorityCode) and typeCode="SBJ" and isNormalParticipation()]/role[classCode="PAT"])
To Doneed to check the wording -is it about, upon, for?
LabReport.admission
DefinitionThe admission that this diagnostic investigation is associated with
Control0..1
TypeResource(Admission)
RequirementsSome institutions track and file diagnostic reports under a specific admission
RIM Mappingunique(./inboundRelationship[isHighest(priorityCode) and typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#ENC", code) and moodCode="EVN" and isNormalAct()])
To DoReckon this is not 80%
LabReport.laboratory
DefinitionThe laboratory service that issued the report
Control1..1
TypeResource(Organization)
RequirementsNeed to know how to contact if there are queries about the results. Also may need to track the source of reports for secondary data analysis
CommentsThis is not necessarily the source of the atomic reports - it's the lab that takes responsibility for the clinical report
RIM Mappingunique(./participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation()]/role[subsumesCode("RoleClass#ASSIGN", classCode)]/scoper[subsumesCode("EntityClass#ORG", classCode) and determinerCode="INSTANCE"])
LabReport.reportId
DefinitionThe local ID assigned to the report by the order filler, usually by the Laboratory Information System (LIS).
Control0..1
TypeIdentifier
RequirementsNeed to know what identifier to use when making queries about this report from the source laboratory
RIM Mappingunique(./id[displayable="true" and scope="OBJ"])
LabReport.requestDetail
DefinitionDetails concerning a single pathology test requested.
Control0..*
RequirementsNeed to be able to track completion of requests based on reports issued, and also to report what diagnostic test swere requested (not always the same as what is delivered)
CommentsNote: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single Pathology test result resource
RIM Mappingunique(./outboundRelationship[typeCode="FLFS" and isNormalActRelationship()]/target[subsumesCode("ActClass#OBS", classCode) and subsumes("ActMood#PRMS", moodCode) and isNormalAct()])
LabReport.requestDetail.requestOrderId
DefinitionThe local ID assigned to the order by the order requester.
Control0..1
TypeIdentifier
RequirementsNeed to be able to track completion of requests based on reports issued
CommentsEquivalent to the Placer Order Identifier
RIM Mappingunique(./outboundRelationship[typeCode="FLFS" and isNormalActRelationship()]/target[subsumesCode("ActClass#OBS", classCode) and subsumes("ActMood#RQO", moodCode) and isNormalAct()]/id[scope="OBJ" and displayable="true"])
To DoReckon this is not 80%
LabReport.requestDetail.receiverOrderId
DefinitionThe local ID assigned to the test order by the order filler, usually by the Laboratory Information System (LIS).
Control0..1
TypeIdentifier
RequirementsNeed to be able to track completion of requests based on reports issued
CommentsUsually equivalent to the DICOM Accession Number and the Filler Order Identifier.
RIM Mappingunique(./id[scope="OBJ" and displayable="true"])
To DoReckon this is not 80%
LabReport.requestDetail.requestTest
DefinitionIdentification of pathology test requested,
Control0..*
TypeCodeableConcept from LabRequests
RequirementsNeed to be able to report what diagnostic test swere requested (not always the same as what is delivered)
CommentsUseful where the test requested differs from the test actually performed.
RIM Mapping./code
LabReport.requestDetail.requester
DefinitionDetails of the clinician or organisation requesting the laboratory test.
Control0..1
TypeResource(Agent|Organization)
RequirementsThe requesting clinician may need to be contacted concerning the interpretation of the lab report
RIM MappingAgent: unique(./participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation()]/role[subsumesCode("RoleClass#ASSIGN", classCode)] Organization: unique(./participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation()]/role[subsumesCode("RoleClass#ASSIGN", classCode)]/scoper[subsumesCode("EntityClass#ORG", classCode) and determinerCode="INSTANCE" and code[isNormalDatatype]])
LabReport.requestDetail.clinicalInfo
DefinitionDetails of the clinical information provided to the laboratory along with the original request
Control0..1
TypeResource(Any)
RequirementsKnowing the clinical information may influence the interpretation of the result
RIM Mapping./outboundRelationship[typeCode="PERT" and isNormalActRelationship()]/target
To DoThis isn't really *ANY* resource. You can't send a drug or an Animal or a bunch of other things. What you really want here are "acts", and I suspect there's a constraint that the subject of the LabReport must have participated in them as subject or perhaps in some other way.
LabReport.reportName
DefinitionIdentification of the pathology test performed, sometimes including specimen type.
Control1..1
TypeCodeableConcept from LabReportNames
Must Understandtrue
RequirementsNeed to know what report this is, so clinicians can filter/find the reports they are looking for
CommentsA test result may be for a single analyte, or a group of items, including panel tests.
RIM Mapping./code
LabReport.service
DefinitionThe diagnostic service that performs the examination e.g. biochemistry, haematology.
Control0..1
TypeCodeableConcept from LabServices
RequirementsHelp clinicians filter/find the reports they are looking for
RIM Mappingunique(./inboundRelationship[typeCode="COMP" and isNormalActRelationship()]/source[subsumesCode("ActClass#LIST", classCode) and moodCode="EVN" and inDomain(code,"Lab Service") and isNormalAct()]/code
To DoI'm not sure this is in the 80%.
LabReport.diagnosticTime
DefinitionThe diagnostically relevant time for this report
Control1..1
TypedateTime
Must Understandtrue
RequirementsNeed to know where in the patient history to file/present this report
CommentsThe diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship is not always automatic
RIM Mapping./effectiveTime[type="TS"]
LabReport.specimen
DefinitionDetails about the specimen if all individual test results are derived from the same specimen
Control0..*
TypeResource(Specimen)
RequirementsNeed to be able to report information about the collected specimens on which the report is based
CommentsIf the specimen is sufficiently specified with a code in the Test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per 'Result group'
RIM Mappingunique(./participation[typeCode="SUBJ" and isNormalParticipation()]/role[subsumesCode("RoleClass#SPEC", classCode)])
LabReport.resultGroup
DefinitionA group of results. Results may be grouped by specimen, or by some value in LabReport.resultGroup.name to describe what binds all the results together.
Control0..*
Must Understandtrue
RequirementsNeed to be able to report groups of results, where the result grouping is arbitrary, but meaningful
CommentsMany (most) lab reports don't really have a meaningful group. In these cases, just create a single group with no specimen or name
RIM Mapping./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[isNormalAct() and subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and fromDomain(code, "LabObservationBattery")]
LabReport.resultGroup.name
DefinitionA code or name that describes the group of results
Control0..1
TypeCodeableConcept from LabResultGroupNames
Must Understandtrue
CommentsFor example, the antibody code for a goup of antibody related test, or the organism code for a group of isolate/sensitivities. Leave blank if there is no particular meaning associated with the group
RIM Mapping./code
LabReport.resultGroup.specimen
DefinitionDetails about the individual specimen to which these ‘Result group’ test results refer, where testing of multiple specimens is required.
Control0..1
TypeResource(Specimen)
RequirementsNeed to be able to report information about the collected specimens on which the report is based
RIM Mappingunique(./participation[typeCode="SBJ" and isNormalParticipation()]/role[subsumesCode("RoleClass#SPEC", classCode)])
LabReport.resultGroup.result
DefinitionSpecific detailed result, including both the value of the result item, and additional information that may be useful for clinical interpretation. Results include whatever specific data items pathology labs report as part of the clinical service; it is not confined to measurements.
Control1..*
Must Understandtrue
RequirementsNeed to report results with information that assist with interpretation
RIM Mapping./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and isNormalAct() and fromDomain(code, "LabObservationResult")]
LabReport.resultGroup.result.name
DefinitionIdentifies the meaning of the value
Control0..1
TypeCodeableConcept from LabResultNames
Must Understandtrue
RequirementsNeed to know what the result is about
Commentsresults are fundamentally a name - value pair with additional clarifying information
RIM Mapping./code
LabReport.resultGroup.result.value[x]
DefinitionActual value of the result. Most result values will be numerical measurements, but others may be coded concepts, free text, or multimedia images
Control0..1
TypeQuantity|CodeableConcept|Attachment|Ratio|Choice|Period|string
Must Understandtrue
RequirementsNeed a value for the result
RIM Mapping./value
LabReport.resultGroup.result.flag
DefinitionFlag indicating the abnormal status of the result
Control0..1
Typecode from LabResultFlag
Must Understandtrue
RIM Mapping./interpretationCode
To DoThe proposed set of codes are too narrow (and doesn't map well to v3.)
LabReport.resultGroup.result.status
DefinitionThe status of the result value
Control1..1
Typecode from LabReportStatus
Must Understandtrue
RequirementsNeed to track the status of individual results - some results are finalised before the whole report is finalised
RIM Mapping(as per LabReport.status)
LabReport.resultGroup.result.comments
DefinitionMay include statements about significant, unexpected or unreliable. values, or information about the source of the value where this may be relevant to the interpretation of the result.
Control0..1
Typestring
Must Understandtrue
RequirementsNeed to be able to provide free text additional information
RIM Mappingunique(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and mapsTo(code, "LOINC# 48767-8") and isNormalAct()]/value[type="ST"])
LabReport.resultGroup.result.referenceRange
DefinitionGuidance on how to interpret the value by comparison to a normal or recommended range
Control0..*
Must Understandtrue
RequirementsNeed to be able to provide multiple reference ranges
CommentsMost results only have one reference range. Some non-numerical results don't have a reference range
RIM Mapping./outboundRelationship[typeCode="REFV" and isNormalActRelationship()]/target[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and isCriterionInd="true" and isNormalAct()]
To DoAre multiple reference ranges in the 80%?
LabReport.resultGroup.result.referenceRange.meaning
DefinitionCode for the meaning of the reference range
Control0..1
TypeCodeableConcept from LabReferenceRanges
RequirementsNeed to be able to say what kind of reference range this is - normal, recommended, therapeutic, or perhaps what state this reference range applies to (i.e. hormonal cycles)
RIM Mapping./interpretationCode
LabReport.resultGroup.result.referenceRange.range[x]
DefinitionActual value of the reference range. May be a quantity (<20mg/L), an range (10-20 umol/L), or some text
Control1..1
TypeQuantity|Range|string
RequirementsNeed to be able to report numerical or text reference ranges, and handle legacy data
CommentsText reference ranges are typically used in endocrinology, or for legacy data with string reference ranges
RIM Mapping./value[type=("PQ", "IVL_PQ", "ST")]
LabReport.conclusion
DefinitionConcise and clinically contextualised narrative interpretation of the pathology test results.
Control0..1
Typestring
Must Understandtrue
RequirementsNeed to be able to provide a conclusion that is not lost amongst the basic result data
Commentscommon reports don't have a conclusion, but some do
RIM Mappingunique(./inboundRelationship[typeCode="SPRT" and isNormalActRelationship()]/source[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and mapsTo(code, "LOINC# 48767-8") and isNormalAct()]/value[type="ST"])
To DoIs this in the 80%?
LabReport.codedDiagnosis
DefinitionCodes for the conclusion
Control0..*
TypeCodeableConcept from LabDiagnosisCodes
RIM Mappingunique(./inboundRelationship[typeCode="SPRT" and isNormalActRelationship()]/source[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and subsumesCode(code, "LOINC# 54531-9") and isNormalAct()]/value[type="CD"])
LabReport.representation
DefinitionRich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they must be semantically equivalent.
Control0..*
TypeAttachment
Must Understandtrue
RequirementsLaboratory needs to be able to provide it's own fully formatted report for clinical fidelity
CommentsPossible formats: text/html, text/plain, text/rtf, application/msword, application/pdf, application/rtf, application/vnd.oasis.opendocument.text, application/vnd.openxmlformats-officedocument.wordprocessingml.document
RIM Mapping./text[type="ED"]
LabReport.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM MappingN/A
LabReport.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative
RIM Mappingunique(./text[type="ST"])

5.15: Resource Formal Definitions: List

The formal definitions for the List (§3.7) resource.

List
DefinitionA set of information summarized from a list of other resources
Control1..1
AliasesCollection; WorkingList; Organizer
RIM MappingAct[normalAct() and subsumes(ActClass#_ActClassRecordOrganizer, classCode) and moodCode=EVN]
To DoRIM harmonization proposal to move LIST under GROUPER RIM harmonization proposal to allow organizers to group roles as well as acts.
List.code
DefinitionThis code defines the purpose of the list - why it was created
Control0..1
TypeCodeableConcept from ListCode
RequirementsLists often contain subsets of resources rather than an exhaustive list. The code identifies what type of subset is included
CommentsIf there is no code, the purpose of the list is implied where it is used, such as in a document section using Document.section.code
RIM Mapping.code
List.source
DefinitionThe entity responsible for deciding what the contents of the list were
Control0..1
TypeResource(Person|Agent|Device)
RequirementsAllows follow-up as well as context
CommentsThe primary and important source is the entity that made the decisions what items are in the list. This may be software or user
RIM Mappingunique(.participation[isNormalParticipation() and typeCode=ParticipationTypeCode#AUT]/role[isNormalRole() and classCode=REL]/player[isNormalEntity() and classCode=PSN and determinerCode=INST] or .participation[isNormalParticipation() and typeCode=ParticipationTypeCode#AUT]/role[isNormalRole() and classCode=ASSIGNED][player[classCode!=DEV and determinerCode=INST and isNormalEntity()]] or .participation[isNormalParticipation() and typeCode=ParticipationTypeCode#AUT]/role[isNormalRole() and classCode=ASSIGNED]/player[classCode=DEV and determinerCode=INST and isNormalEntity()])
List.date
DefinitionThe date that the list was prepared
Control0..1
TypedateTime
RequirementsIdentifies how current the list is which affects relevance
CommentsThe actual important date is the date of currency of the resources that were summarized, but it is usually assumed that these are current when the preparation occurs
RIM Mapping.participation[isNormalParticipation() and typeCode=ParticipationTypeCode#AUT]/time[type=TS]
List.ordered
DefinitionWhether the list is ordered or not
Control0..1
Typeboolean
RequirementsImportant for presentation and rendering. Lists may be sorted to place more important information first or to group related entries.
CommentsApplications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well
RIM Mappingcount(distinct-values(./outboundRelationship[typeCode=COMP and isNormalActRelationship()]/sequenceNumber))>1 or count(./participation[isNormalParticipation() and typeCode=SBJ]/sequenceNumber))>1
List.entry
DefinitionEntries in this list
Control0..*
CommentsIf there are no entries in the list, an emptyReason SHOULD be provided
RIM Mapping./outboundRelationship[typeCode=COMP and isNormalActRelationship()] or ./participation[isNormalParticipation() and typeCode=SBJ
List.entry.status
DefinitionStatus of an entry in this list.
Control0..1
Typecode from ListEntryStatus
Must Understandtrue
CommentsIf no status is provided, it must be known that the status of deleted does not apply. A deleted entry should be displayed in narrative as deleted
RIM Mappingadded: ./updateMode=("A","AR") retained: ./updateMode="NC" updated: ./updateMode="R" deleted: ./updateMode="D"
List.entry.item
DefinitionA reference to the actual resource from which data was derived
Control1..1
TypeResource(Any)
Must Understandtrue
RIM Mapping./target or ./role or ./role/entity
List.emptyReason
DefinitionIf the list is empty, why the list is empty
Control0..1
TypeCodeableConcept from ListEmptyReason
RequirementsAllows capturing things like "none exist" or "not asked" which can be important for most lists
CommentsThe various reasons for an empty list make a significant interpretation to its interpretation
RIM Mapping./inboundRelationship[typeCode=SUBJ and isNormalActRelationship and subsumes(ListEmptyReason, code)]/value[type=CD]
List.extension
DefinitionSee Extensions
Control0..*
TypeExtension
List.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.16: Resource Formal Definitions: MedicationAdministration

The formal definitions for the MedicationAdministration (§3.8) resource.

MedicationAdministration
DefinitionDescribes the event of a patient being given a dose of a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care provider
Control1..1
RIM MappingSubstanceAdministration
MedicationAdministration.administrationEventStatus
DefinitionWill generally be set to show that the administration has been completed. For some long running administrations such as infusions it is possible for an administration to be started but not completed or it may be paused while some other process is under way.
Control1..1
Typecode from MedicationAdministrationStatus
RIM MappingSubstanceAdministration.statusCode
MedicationAdministration.isNegated
DefinitionSet this to true if the record is saying that the medication was NOT administered.
Control0..1
Typeboolean
RIM MappingSubstanceAdministration.actionNegationInd
MedicationAdministration.negatedReason
DefinitionA code indicating why the administration has been negated. Use only if isNegated is set to TRUE
Control0..*
TypeCodeableConcept from MedicationAdministrationNegationReason
RIM MappingSubstanceAdministration->Reason->Observation->Value
MedicationAdministration.effectiveTime
DefinitionAn interval of time during which the administration takes place. For many administrations, such as swallowing a tablet the lower and upper values of the interval will be the same.
Control1..1
TypePeriod
RIM MappingSubstanceAdministration.effectiveTime
MedicationAdministration.method
DefinitionA coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. Examples: Slow Push; Deep IV. Terminologies used often pre-coordinate this term with the route and or form of administration.
Control0..1
TypeCodeableConcept from MedicationAdministrationMethod
RIM MappingSubstanceAdministration.methodCode
MedicationAdministration.approachSite
DefinitionA coded value indicating the location on the body where the medication is introduced into or onto the body. Where the code system indicates laterality by means of a separate coded concept this must be post-coordinated with the code indicating the location.
Control0..1
TypeCodeableConcept from MedicationAdministrationSite
RIM MappingSubstanceAdministration.approachSIteCode
MedicationAdministration.route
DefinitionA coded value indicating the path in or on the body by which the medication is introduced into or onto the body. Where the code system indicates laterality by means of a separate coded concept this must be post-coordinated with the code indicating the route.
Control0..1
TypeCodeableConcept from RouteOfAdministration
RIM MappingSubstanceAdministration.routeCode
MedicationAdministration.administeredDose
DefinitionThe amount of a medication administered to the patient as a single amount.
Control0..1
TypeQuantity
Comments(??Need to check work for Puffs.)
RIM MappingSubstanceAdministration.doseQuantity
MedicationAdministration.doseRate
DefinitionThe amount of a medication administered to the patient over a period of time. Example 250ml/30min
Control0..1
TypeQuantity
Comments(??Need to check work for Puffs.)
RIM MappingSubstanceAdministration.doseRate
MedicationAdministration.id
DefinitionExternal identifier - FHIR will generate its own internal IDs (probably URLs) which do not need to be explicitly managed by the resource. The identifier here is one that would be used by another non-FHIR system - for example an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. Particularly important if these records have to be updated.
Control0..*
TypeHumanId
RIM MappingSubstanceAdministration.id
MedicationAdministration.prescription
DefinitionA link to a resource that provides the original request, instruction and authority to perform the administration.
Control1..1
TypeResource(Prescription)
RIM MappingSubstanceAdministration->InFullfillmentOf->SubstanceAdministration
MedicationAdministration.patient
DefinitionA link to a resource representing the person to whom the medication was given.
Control1..1
TypeResource(Patient)
RIM MappingSubstanceAdministration->subject->Patient
MedicationAdministration.medication
DefinitionThis is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.
Control1..*
TypeCodeableConcept from AMedicinesTerminology
RIM MappingSubstanceAdministration->consumable->ManufacturedProduct
MedicationAdministration.encounter
DefinitionAn identifier or a link to a resource that identifies the particular occurrence of contact between patient and health care provider.
Control0..1
TypeHumanId
RIM MappingSubstanceAdministration->component->EncounterEvent
MedicationAdministration.administrationDevice
DefinitionAn identifier or a link to a resource that identifies a device used in administering the medication to the patient.
Control0..*
TypeResource(Device)
RIM MappingSubstanceAdministration->device->Access OR SubstanceAdministration->device->AssignedDevice
MedicationAdministration.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative
MedicationAdministration.extension
DefinitionExtensions to the MedicationAdministration resource
Control0..*
TypeExtension

5.17: Resource Formal Definitions: Message

The formal definitions for the Message (§2.2) resource.

Message
DefinitionA transmission requesting action on a bundle of one or more resources or a response to such a request
Control1..1
RequirementsMany implementations are not prepared to use REST, and need a message based infrastructure
RIM MappingMessage
v2 MappingMSH
Message.id
DefinitionThe identifier of this message
Control1..1
Typeid
Must Understandtrue
CommentsThis must be unique within the scope of this stream of messages
RIM MappingMessage.id
Message.instant
DefinitionInstant the message was sent
Control1..1
Typeinstant
Must Understandtrue
RequirementsAllows limited detection of out-of-order and delayed transmission. Also supports audit.
RIM Mapping./creationTime[isNormalDatatype()]
v2 MappingMSH.7
Message.event
DefinitionCode that identifies the event this message represents, and connects it with the event definition in the FHIR specification
Control1..1
Typecode from MessageEvent
Must Understandtrue
RequirementsDrives the behavior associated with this message
RIM Mapping./payload[classCode="CACT" and moodCode="EVN" and isNormalAct()]/code[isNormalDatatype()]/code
v2 MappingMSH.9.2
To DoConsider changing to Coding to support profile-defined events
Message.response
DefinitionInformation about the message that this message is a response to. Only present if this message is a response.
Control0..1
Must Understandtrue
RIM Mapping./conveyedAcknowledgement
v2 MappingMSA
Message.response.id
DefinitionThe id of the message that this a response to
Control1..1
Typeid
Must Understandtrue
RequirementsAllows receiver to know what message is being responded to
RIM Mapping./acknowledges.id[isNormalDatatype()]
v2 MappingMSA.2
Message.response.code
DefinitionCode that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not
Control1..1
Typecode from ResponseCode
Must Understandtrue
RequirementsAllows the sender of the acknowledge message to know if the request was successful or if action is needed.
CommentsThis is a generic response to the request Message. Specific data for the response will be found in Message.data
RIM Mapping./typeCode[isNormalDatatype()]
v2 MappingMSA.1 |
Message.response.details
DefinitionFull details of any issues found in the message
Control0..1
TypeResource(IssueReport)
RequirementsAllows the sender of the message to determine what the specific issues are
CommentsThis must be contained in the bundle. If any of the issues are errors, the response code must be an error
RIM MappingAcknowledgementDetail or Observation[classCode="ALRT" and moodCode="EVN"]
v2 MappingERR
Message.source
DefinitionThe source application from which this message originated
Control1..1
RequirementsAllows replies, supports audit.
RIM Mappingunique(./communicationFunction[typeCode="SND"])
v2 MappingNA
Message.source.name
DefinitionHuman readable name for the target system
Control0..1
Typestring
RequirementsMay be used to support audit
RIM Mappingunique(./entity[determinerCode="INST" and classCode="DEV"]/name[type='ST' and isNormalDatatype()])
v2 Mapping(Not supported)
Message.source.software
DefinitionMay include configuration or other information useful in debugging.
Control1..1
Typestring
RequirementsSupports audit and possibly interface engine behavior
RIM Mappingunique(./entity[determinerCode="INST" and classCode="DEV"]/softwareName[isNormalDatatype()])
v2 MappingSFT.3
Message.source.version
DefinitionCan convey versions of multiple systems in situations where a message passes through multiple hands.
Control0..1
Typestring
RequirementsSupports audit and possibly interface engine behavior
RIM Mapping(Not supported)
v2 MappingSFT.4
Message.source.contact
DefinitionAn e-mail, phone, website or other contact point to use to resolve issues with message communications.
Control0..1
TypeContact
RequirementsAllows escalation of technical issues.
RIM Mappingunique(./entity[determinerCode="INST" and classCode="DEV"]/scopesRole[normalRole() and classCode="CON" and layer[classCode="PSN"]/telecom[isNormalDatatype()])
v2 Mapping(Not supported)
Message.source.endpoint
DefinitionIdentifies the routing target to send acknowledgements to.
Control1..1
Typeuri
RequirementsIdentifies where to send responses, may influence security permissions
CommentsThe id may be a non-resolvable URI for systems that do not use standard network-based addresses
RIM Mapping./telecom[isNormalDatatype()]
v2 Mapping(Not supported)
Message.destination
DefinitionThe destination application which the message is intended for
Control1..1
RequirementsIndicates where message is to be sent to for routing purposes. Allows verification of "am I the intended recipient"
RIM Mapping./communicationFunction[typeCode="RCV"]
v2 MappingNA
Message.destination.name
DefinitionHuman readable name for the source system
Control0..1
Typestring
RequirementsMay be used for routing of response and/or to support audit
RIM Mappingunique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]/name[type='ST' and isNormalDatatype()])
v2 Mapping(Not supported)
Message.destination.target
DefinitionIdentifies the target end system in situations where the initial message transmission is to an intermediary system.
Control0..1
TypeResource(Device)
RequirementsSupports multi-hop routing
RIM Mappingunique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]
v2 Mappingvaries
Message.destination.endpoint
DefinitionIndicates where the message should be routed to.
Control1..1
Typeuri
RequirementsIdentifies where to route the message
CommentsThe id may be a non-resolvable URI for systems that do not use standard network-based addresses
RIM Mapping./telecom
v2 Mapping(Not supported)
Message.enterer
DefinitionThe person or device that performed the data entry leading to this Message. Where there is more than one candidate, pick the most proximal to the Message. Can provide other enterers in extensions
Control0..1
TypeResource(Agent)
RequirementsNeed to know for audit/traceback requirements and possibly for authorization.
CommentsUsually only for the request, but can be used in a response
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="ENT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
v2 MappingROL where ROL.3 is EP or ORC.10
Message.author
DefinitionThe logical author of the message - the person or device that decided the described event should happen. Where there is more than one candidate, pick the most proximal to the Message. Can provide other authors in extensions
Control0..1
TypeResource(Agent)
RequirementsNeed to know for audit/traceback requirements and possibly for authorization.
CommentsUsually only for the request, but can be used in a response
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
v2 MappingROL where ROL.3 is IP or ORC.12
Message.receiver
DefinitionAllows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.
Control0..1
TypeResource(Person|Organization)
RequirementsAllows routing beyond just to the application level
Message.responsible
DefinitionThe person or organization that accepts overall responsibility for the contents of the Message. The implication is that the message event happened under the policies of the responsible party
Control0..1
TypeResource(Agent|Organization)
RequirementsNeed to know for audit/traceback requirements and possibly for authorization.
CommentsUsually only for the request, but can be used in a response
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode="PSN" and determinerCode="INST"] or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/scoper[isNormalEntity() and classCode="ORG" and determinerCode="INST"])
v2 MappingROL where ROL.3 is RO or ORC.11
Message.effective
DefinitionThe effective time - the real world time of the event that the message represents. Usually this is just a starting time, but some message events also have an end time (do x for period y)
Control0..1
TypePeriod
RequirementsNeed to know for understanding the content of the message, may govern receiver's behavior.
CommentsUsually only for the request, but can be used in a response
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/effectiveTime[isNormalDatatype() and type="IVL_TS"])
v2 MappingEVN.3 or EVN.6 or ORC.15
To DoGrahame thinks this is not 80/20. Also, that it really should be domain modeled, not tucked away here
Message.reason
DefinitionThe cause of the event - a reason for the event that is a focus of this message occurred
Control0..1
TypeCodeableConcept from EventReason
RequirementsNeed to be able to track why resources are being changed and report in the audit log / history of the resource. May affect authorization.
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/reasonCode[isNormalDatatype()])
v2 MappingEVN.4 or ORC.16
Message.data
DefinitionThe actual data of the message - a reference to the root/focus class of the event.
Control0..*
TypeResource(Any)
Must Understandtrue
RequirementsEvery message event is about actual data, a single resource, that is identified in the definition of the event, and perhaps some or all linked resources
CommentsThe data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The tree of referenced resources conveyed in the atom feed is determined by navigating the tree and consulting the "bundled" property of the profile, not by listing all resources here. Multiple repetitions are provided for merges and other situations with multiple focal targets
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="SUBJ" and isNormalParticipation]/role or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/outboundRelationship[typeCode="SBJ" and isNormalActRelatoinship]/target)
v2 Mappingvaries
Message.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mappingvaries
v2 Mappingvaries
Message.text
Definition
Control1..1
TypeNarrative
RIM Mapping(Not supported)
v2 Mapping(Not supported)

5.18: Resource Formal Definitions: Observation

The formal definitions for the Observation (§3.9) resource.

Observation
DefinitionSimple assertions and measurements made about a patient, device or other subject
Control1..1
RequirementsObservations are a key aspect of healthcare. This resource is used to capture those that do not require more sophisticated mechanisms.
AliasesVital Signs
CommentsUsed for "simple" observations such as vital signs, height, weight, smoking status, comments, etc. *Not* used for lab results, diagnostic images or other more complex observations.
RIM MappingObservation[isNormalAct() and subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and domainMember("SimpleObservationType", code)]
Observation.identifier
DefinitionA unique identifier for the simple observation
Control0..1
TypeIdentifier
RequirementsAllows observations to be distinguished and referenced
RIM Mappingunique(./id[displayable="true" and scope="OBJ"])
v2 MappingOBX.21
Observation.type
DefinitionIdentifies what type of observation was performed
Control1..1
TypeCodeableConcept from SimpleObservationType
Must Understandtrue
RequirementsKnowing what kind of observation is being made is essential to understanding the observation.
RIM Mapping./code
v2 MappingOBX.3
Observation.bodySite
DefinitionIndicates where on the subject's body the observation was made.
Control0..1
TypeCodeableConcept from ObservationBodySite
RequirementsKnowing where observation is made is important for tracking if multiple sites are possible.
CommentsOnly used if not implicit in code for SimpleObservation.result.type
RIM Mappingunique(./targetSiteCode)
v2 MappingOBX.20
Observation.method
DefinitionIndicates the mechanism used to perform the observation
Control0..1
TypeCodeableConcept from SimpleObservationMethod
RequirementsIn some cases, method can impact results and is thus for determing whether results can be compared or determining significance of results
CommentsOnly used if not implicit in code for SimpleObservation.result.type
RIM Mappingunique(./methodCode)
v2 MappingOBX.17
Observation.valid[x]
DefinitionThe time or time-period the observed value is asserted as being true
Control0..1
TypePeriod|dateTime|date
RequirementsKnowing when an observation was deemed true is important to its relevance as well as determining trends
RIM Mapping./effectiveTime[type='IVL_TS' or type='TS']
v2 MappingOBX.14
Observation.subject
DefinitionThe thing the observation is being made about
Control0..1
TypeResource(Patient|Group|Device|Animal)
Must Understandtrue
RequirementsObservations have no value if you don't know who or what they're about.
RIM Mappingunique(./participation[isHighest(priorityCode) and typeCode="SBJ" and isNormalParticipation()]/role or ./participation[isHighest(priorityCode) and typeCode="SBJ" and isNormalParticipation()]/role/entity)
v2 MappingPID
Observation.performer
DefinitionWho was responsible for asserting the observed value as "true"
Control0..1
TypeResource(Agent|Person|Device)
RequirementsMay give a degree of confidence in the observation and also indicates where follow-up questions should be directed.
CommentsThis would only be "Device" if the device takes responsibility for the measurement, not to capture the device used by a human to make the measurement. (The latter could be captured as an extension.)
RIM Mappingunique(./participation[isHighest(priorityCode) and typeCode="PRF" and isNormalParticipation()]/role or ./participation[isHighest(priorityCode) and typeCode="PRF" and isNormalParticipation()]/role/entity]
v2 MappingOBX.15
Observation.value[x]
DefinitionThe information determined as a result of making the observation
Control0..1
TypeQuantity|CodeableConcept|Attachment|Ratio|Choice|Period|string from SimpleObservationResult
Must Understandtrue
RequirementsA result with no value isn't much use. (Though an exceptional value such as 'unknown' may still be useful.)
CommentsResult value set should allow for Unkown and other exceptional values. The datatype for this element should be determined by SimpleObservation.result.type
RIM Mapping./value
v2 MappingOBX.5, OBX.6
Observation.interpretation
DefinitionThe assessment made based on the result of the observation.
Control0..1
TypeCodeableConcept from SimpleObservationInterpretation
RequirementsFor some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.
RIM Mappingunique(./interpretationCode)
v2 MappingOBX.8
Observation.normalValue[x]
DefinitionFor numeric results, indicates the boundaries within which "normal" values should occur
Control0..1
TypeRange|string
RequirementsKnowing what values are considered "normal" can help evaluate the significance of a particular result.
CommentsThis might be generic or be specific to the patient's age, gender, weight and other factors.
RIM Mapping./outboundRelationship[typeCode="REFV" and isNormalActRelationship()]/target[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and isCriterionInd="true" and isNormalAct() and interpretationCode="ObservationInterpretationNormality#N"]
v2 MappingOBX.7
Observation.component
DefinitionComponent observation
Control0..*
Must Understandtrue
RequirementsSome observations such as blood pressure have multiple components.
CommentsIn most cases, this is only expected to recurse to a maximum of one level
RIM Mapping./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[isNormalAct() and subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and fromDomain(code, "SimpleObservationSubType")]
Observation.component.type
DefinitionIdentifies what type of sub-observation was performed
Control1..1
TypeCodeableConcept from SimpleSubObservationType
Must Understandtrue
RequirementsKnowing what kind of observation is being made is essential to understanding the observation.
RIM Mapping./code
v2 MappingOBX.3
Observation.component.value[x]
DefinitionThe information determined as a result of making the sub-observation
Control1..1
TypeQuantity|CodeableConcept|Attachment|Ratio|Choice|Period|string from SimpleSubObservationResult
Must Understandtrue
RequirementsA result with no value isn't much use. (Though an exceptional value such as 'unknown' may still be useful.)
CommentsResult value set should allow for Unkown and other exceptional values. The datatype for this element should be determined by SimpleObservation.result.type
RIM Mapping./value
v2 MappingOBX.5, OBX.6
Observation.extension
DefinitionSee Extensions
Control0..*
TypeExtension
Observation.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.19: Resource Formal Definitions: Organization

The formal definitions for the Organization (§3.10) resource.

Organization
DefinitionFor any company/corporation/institution/government department that has relevance to the care process
Control1..1
RIM MappingOrganization(classCode=ORG, determinerCode=INST)
Organization.identifier
DefinitionIdentifier for the organization that is used to identify the organization across multiple disparate systems
Control0..*
TypeHumanId
Must Understandtrue
RequirementsOrganizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.
RIM Mapping.scopes[Role](classCode=IDENT)
Organization.name
DefinitionA name associated with the organization
Control0..*
Typestring
Must Understandtrue
RequirementsNeed to use the name as the label of the organization
CommentsDon't use HumanName since that has many non-organization things in it
RIM Mapping.name
Organization.address
DefinitionAn address for the organization
Control0..*
TypeAddress
RequirementsMay need to keep track of the organizations addresses for contacting, billing or reporting requirements
CommentsOrganization may have multiple addresses with different uses or applicable periods. The use code home is not to be used
RIM Mapping.address
Organization.telecom
DefinitionA contact detail for the organization
Control0..*
TypeContact
RequirementsHuman contact for the organization
CommentsThe use code home is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself
RIM Mapping.telecom
Organization.type
DefinitionThe kind of organization that this is
Control0..1
TypeCodeableConcept from OrganizationType
RequirementsNeed to be able to track the kind of organization that this is - different organization types have different uses
CommentsOrganizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes
RIM Mapping.code
Organization.status
DefinitionIndication of whether this organization's record is still active.
Control0..1
Typecode from RecordStatus
Must Understandtrue
CommentsDefault is "active".
RIM Mapping.status
To DoThis isn't data we record about an organization but is data about this organization's record. I would argue about including this metadata here. It also implies effects on functionality, like not showing up in queries anymore, which cannot be guaranteed. All in all, this belongs to record infrastructure, not data
Organization.accreditation
DefinitionThe qualifications/certifications an organization has, including format educational achievements, accreditations, and current certifications. All these qualifications may be used to determine what roles the organization may play in a healthcare environment
Control0..*
RequirementsFor many organizations in healthcare, it is necessary to track the qualifications an organization has - formal.
RIM Mapping.plays[Role](classCode='QUAL')
To Do1) Not sure if qualified & accredited are the same. 2) Could potentially propose a new classCode. We wonder if Accreditation is in the 80%. Accreditation is not part of the current PA domain, it was in Personnel Management but this has been retracted. The PM version also had many more attributes, so is this Accreditation good enough? We (current participants) do not use it. We decide to keep it, to see what happens in ballot
Organization.accreditation.identifier
DefinitionThe identifier of the accreditation
Control0..1
TypeIdentifier
RequirementsAllows a link back to a accreditation registry, if one exists
RIM Mapping.identifier
Organization.accreditation.code
DefinitionThe type of the accreditation
Control0..1
TypeCodeableConcept from OrganizationAccreditation
Requirementscommonly used to determine the roles an organization may perform
RIM Mapping.code
Organization.accreditation.institution
DefinitionThe organization that conferred/confers the accreditation
Control0..1
TypeResource(Organization)
RequirementsMay determine the significance of the qualification, and allows a link back to a qualification registry, if one exists
RIM Mapping.scopedBy[Organization]
To DoDo we need jurisdiction as well? (The jurisdiction is often more relevant than the accrediting org.)
Organization.accreditation.period
DefinitionThe period for which the accreditation is held
Control0..1
TypePeriod
RequirementsMost accreditations are only conferred for a limited time period and must be re-acquired or forfeited
RIM Mapping.effectiveTime[IVL<TS>]
Organization.relatedOrganization
DefinitionOther organizations that are related to this organization. The relationship might be one of several types: sub- or super- orgnizations (i.e. ward in a hospital, owning corporation of a hospital) or partner organizations (i.e. the operating corporation for a hospital)
Control0..*
RequirementsNeed to be able to track many kinds of organizational relationships and use to determine roles and mediate workflows
To DoTODO: No more "contains" or "part of"?
Organization.relatedOrganization.organization
DefinitionThe organization that is related to this organization
Control1..1
TypeResource(Organization)
Must Understandtrue
RequirementsNeed to know to which organization a relationship exists
Organization.relatedOrganization.type
DefinitionCode that specifies how this organization is related to the subject. A code is required.
Control1..1
TypeCodeableConcept from OrganizationRelationship
RequirementsNeed to know how the organization is related
To DoTODO: If we use CodeableConcept to codify the relationships, it is hard to compute what which organization is "part of" and which "contains". Furthermore, the current v3 binding (to RoleClass) uses the terms "player" and "scoper" to define the direction of the relationship. So, we would have to define that the current organization is the scoper, and the related organization the player?
Organization.contactPerson
DefinitionContact details for a person acting as a contact for the organization
Control0..*
RequirementsApart from the address/contact of the organization itself, systems need to track which persons are acting as contact persons
RIM Mapping.contactParty
Organization.contactPerson.type
DefinitionIndicates a purpose for which the person can be contacted.
Control0..1
TypeCodeableConcept from ContactPersonType
RequirementsNeed to distinguish between multiple contact persons.
Organization.contactPerson.address
DefinitionAddress to use when contacting the contact person for this organization
Control0..1
TypeAddress
CommentsThe use code home is not to be used.
RIM Mapping.addr
Organization.contactPerson.telecom
DefinitionTelecom details for the contact person at this organization
Control0..*
TypeContact
CommentsThe use code home is not to be used.
RIM Mapping.telecom
Organization.contactPerson.name
DefinitionName of the contact person
Control0..1
TypeHumanName
RIM Mapping.contactPerson.name
Organization.contactPerson.person
DefinitionLink to the actual person that is a contact person for the organization
Control0..1
TypeResource(Person)
RIM Mapping.contactPerson
Organization.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mapping[varies]
Organization.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative
RIM Mapping.text

5.20: Resource Formal Definitions: Patient

The formal definitions for the Patient (§3.11) resource.

Patient
DefinitionA patient is a person or animal that is receiving care
Control1..1
RequirementsTracking patient is the center of the healthcare process
RIM MappingPatient
Patient.link
DefinitionA linked patient record is a record that concerns the same patient. Records are linked after it is realized that at least one was created in error.
Control0..*
TypeResource(Patient)
Must Understandtrue
RequirementsDue to the clerical errors associated with the difficulties of identifying humans consistently, duplicate patient records are frequently created in error
CommentsMore then two patient records may be linked. Note that there is a special transaction for linking patient records in the RESTful context, as record linking consistency must be maintained
Patient.active
DefinitionWhether the patient record is in use, or has been removed from active use
Control1..1
Typeboolean
Must Understandtrue
RequirementsNeed to be able to mark a patient record as not to be used because it was created in error
CommentsIf a record is inactive, and linked to an active record, then future patient/person/record updates should occur on the other patient
Patient.subject
DefinitionThe person or animal that this patient record is about
Control1..1
TypeResource(Person|Animal)
Must Understandtrue
RequirementsNeed to link this patient record to a known and identifiable person or animal
Patient.provider
DefinitionThe provider for whom this is a patient record
Control1..1
TypeResource(Organization)
Must Understandtrue
RequirementsNeed to know who recognises this patient record
To DoBut is thie same as institution above?
Patient.identifier
DefinitionAn identifier that applies to this person as a patient
Control0..*
TypeHumanId
Must Understandtrue
RequirementsPatients are almos always assigned specific numerical identifiers
Patient.diet
DefinitionDietary restrictions for the patient
Control0..1
TypeCodeableConcept from PatientDiet
RequirementsTrack patients reported dietary restrictions to help with catering requirements
Commentsnot for specifying medical diets, but for casual dietary restrictions such as vegetarian, diary-free, nut-free, etc
Patient.confidentiality
DefinitionConfidentiality of the patient records
Control0..1
TypeCodeableConcept from PatientConfidentiality
RequirementsNeed to be able to track which patient records are particularly sensitive
CommentsConfidentiality tracking also occurs at more detailed points in the medical record
Patient.recordLocation
DefinitionThe location of the paper record for the patient, if there is one
Control0..1
TypeCodeableConcept from PaperRecordLocation
RequirementsTrack old paper records where these are still in use
Patient.extension
DefinitionSee Extensions
Control0..*
TypeExtension
Patient.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.21: Resource Formal Definitions: Person

The formal definitions for the Person (§3.12) resource.

Person
DefinitionA person who is involved in the healthcare process
Control1..1
RequirementsNeed to track persons potentially across multiple roles
CommentsThe Person resource does justice to Person registries that keep track of Persons regardless of their role. The Person resource is also a primary resource to point to for people acting in a particular role such as SubjectofCare, Provider, and Agent. Very few attributes are specific to any role and so Person is kept lean. Most attributes are expected to be tied to the role the Person plays rather than the Person himself. Examples of that are Guardian (SubjectofCare), ContactParty (SubjectOfCare, Provider), and multipleBirthInd (SubjectofCare)
RIM MappingPerson(classCode="PSN" and determinerCode="INST" and quantity="1")
Person.identifier
DefinitionIdentifier for a person within a particular scope.
Control0..*
TypeHumanId
Must Understandtrue
RequirementsPeople are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the patient. Examples are national person identifier and local identifier
RIM Mapping.plays:Role(classCode='IDENT').id
v2 MappingPID-3
Person.name
DefinitionA name associated with the person
Control0..*
TypeHumanName
Must Understandtrue
RequirementsNeed to be able to track the person by multiple names. Examples are your official name and a partner name.
CommentsPerson may have multiple names with different uses or applicable periods.
RIM Mapping./name
v2 MappingPID-5, PID-9
Person.telecom
DefinitionA contact detail for the person, e.g. a telephone number or an email address.
Control0..*
TypeContact
Must Understandtrue
RequirementsPeople have (primary) ways to contact them in some way such as phone, email.
CommentsPerson may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification
RIM Mapping./telecom
v2 MappingPID-13, PID-14
Person.gender
DefinitionAdministrative Gender
Control0..1
TypeCoding from AdministrativeGender
Must Understandtrue
RequirementsNeeded for identification of the person, in combination with (at least) name and birth date. Gender of person drives many clinical processes.
RIM Mapping./administrativeGender
v2 MappingPID-8
Person.birthDate
DefinitionThe birth date for the person.
Control0..1
TypedateTime
Must Understandtrue
RequirementsAge of person drives many clinical processes. Next to the common use case of capturing someone birth date, also in some common cases time is registered.
CommentsAt least an estimated year should be provided as a guess if the real dob is unknown
RIM Mapping./birthTime
v2 MappingPID-7
Person.deceased
DefinitionIndicates if the Person is deceased or not
Control0..1
Typeboolean
Must Understandtrue
CommentsIf there's no value in the instance it means there is no statement on whether or not the person deceased. Most systems will interpret the absence of a value as a sign of the person being alive.
RIM Mapping./deceasedInd
v2 MappingPID-30
Person.address
DefinitionOne or more addresses for the person
Control0..*
TypeAddress
Must Understandtrue
RequirementsMay need to keep track of persons addresses for contacting, billing or reporting requirements and also to help with identification
CommentsPerson may have multiple addresses with different uses or applicable periods
RIM Mapping./addr
v2 MappingPID-11
Person.maritalStatus
DefinitionThis field contains the patient's marital (civil) status.
Control0..1
TypeCodeableConcept from MaritalStatus
Must Understandtrue
RIM Mapping./maritalStatus
v2 MappingPID-16
Person.language
DefinitionA language spoken by the person, with proficiency
Control0..*
Must Understandtrue
RequirementsIf a patient does not speak the local language, interpreters may be required, so languages spoken and profiency is an important things to keep track of both for patient and other persons of interest
CommentsIf no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes than you need multiple Person.language associations.
RIM Mapping.LanguageCommunication
Person.language.language
DefinitionThe ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case. E.g. "en" for English, or "en-US" for American English versus "en-EN" for England English
Control1..1
TypeCodeableConcept from Language
Must Understandtrue
RequirementsMost systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect.
CommentsThe structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type
RIM Mapping./languageCode
v2 MappingPID-15, NK1-20, LAN-2
To DoSo just ISO 639-3? ISO-639-1 alpha 2 is actually somewhat outdated and ISO-639-2 alpha 3 has support for more languages/dialects.
Person.language.mode
DefinitionA value representing the person's method of expression of this language. Examples: expressed spoken, expressed written, expressed signed, received spoken, received written, received signed
Control0..1
TypeCodeableConcept from LanguageAbilityMode
RequirementsA Person that can write English fairly well, but is not capable to understand
CommentsIt's expected that modeCode and proficiencyLevelCode work in conjunction. It makes less sense to convey modeCode unless you want to distinctly denote someone proficiency for a particular mode. It's however perfectly acceptable to have a proficiencyLevelCode without a modeCode
RIM Mapping./modeCode
v2 MappingLAN-3
Person.language.proficiencyLevel
DefinitionA code that describes how well the language is spoken
Control0..1
TypeCodeableConcept from LanguageAbilityProficiency
Must Understandtrue
CommentsSee comments for Person.language.modeCode
RIM Mapping./proficiencyLanguageCode
v2 MappingLAN-4
Person.language.preference
DefinitionIndicates whether or not the Person prefers this language (over other languages he masters up a certain level)
Control0..1
Typeboolean
RequirementsPeople that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method
RIM Mapping./preferenceInd
v2 MappingPID-15, NK1-20
Person.extension
DefinitionSee Extensions
Control0..*
TypeExtension
Person.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.22: Resource Formal Definitions: Prescription

The formal definitions for the Prescription (§3.13) resource.

Prescription
DefinitionDirections provided by a prescribing practitioner for a specific medication to be administered (and possibly) supplied to an individual
Control1..1
RequirementsUsed to record details about the prescribed medication, administration schedule, dosage and dispensing.
RIM MappingSubstanceAdministration
Prescription.identifier
DefinitionA identifier used in an external system and associated with this medication
Control0..*
TypeHumanId
Must Understandtrue
RequirementsPrescriptions are almost always assigned specific numerical identifiers
RIM MappingSubstanceAdministration.id
Prescription.status
DefinitionActual status of the prescription
Control1..1
Typecode from PrescriptionStatus
Must Understandtrue
RIM MappingSubstanceAdministration.statusCode
Prescription.patient
DefinitionThe patient the prescription is prescribing medicine for
Control1..1
TypeResource(Patient)
Must Understandtrue
Prescription.prescriber
DefinitionThe clinician or doctor prescribing the medication
Control1..1
TypeResource(Agent)
Prescription.prescribed
DefinitionDate/time on which the prescription was written
Control1..1
TypedateTime
Prescription.dispense
DefinitionDetails of the dispense as requested by the prescriber
Control0..1
Prescription.dispense.repeats
DefinitionRequested number of repeats
Control0..1
Typeinteger
CommentsDefault is "1"
Prescription.dispense.quantity
DefinitionRequested quantity per repeat
Control1..1
TypeQuantity
Prescription.dispense.dispenser
DefinitionPerson to fulfill the requested dispense
Control0..1
TypeResource(Agent|Organization)
Prescription.medicine
DefinitionThe one single medicine, vaccine or other product prescribed in this prescription.
Control1..1
Prescription.medicine.identification
DefinitionText and or Code(s) that identify the medicine
Control0..1
TypeCodeableConcept from MedicationKind
Must Understandtrue
Prescription.medicine.activeIngredient
DefinitionThe substance in the medication formulation that is pharmaceutically active and is responsible for the medication's therapeutic effect
Control0..*
Prescription.medicine.activeIngredient.identification
DefinitionCoded representation of active ingredient
Control1..1
TypeCodeableConcept from MedicationKind
Prescription.medicine.activeIngredient.quantity[x]
DefinitionQuantity of active ingredient expressed in relation to the whole of the prepared medicine
Control0..1
TypeRatio|code
To DoDeclare domain of QuantityExceptions once bug is fixed
Prescription.medicine.inactiveIngredient
DefinitionIngredients in the medication that are not active
Control0..*
Prescription.medicine.inactiveIngredient.identification
DefinitionCoded representation of the inactive ingredient
Control1..1
TypeCodeableConcept from MedicationKind
Prescription.medicine.inactiveIngredient.quantity[x]
DefinitionQuantity of inactive ingredient expressed in relation to the whole of the prepared medicine
Control0..1
TypeRatio|code
To DoDeclare domain of QuantityExceptions once bug is fixed
Prescription.administrationRequest
DefinitionInstructions for the use of the medication. Includes details about the timing schedule, dose amounts and additional usage instructions.
Control1..1
Prescription.administrationRequest.description
DefinitionTextual description of the use of the medication.
Control0..1
Typestring
CommentsCan contain more details than the structured information under this element, but must be in accordance with it. May not contain information about the medicine itself.
Prescription.administrationRequest.totalPeriodicDose
DefinitionTotal dose per day/week or other period when more specific information is missing or cannot be expressed using the timing specifications.
Control0..1
TypeRatio
RequirementsIt should be possible, as a last resort, to specify e.g. a daily dose, even if more specific details are unknown
Prescription.administrationRequest.start
DefinitionFirst moment on which medication should be taken
Control0..1
TypedateTime
Prescription.administrationRequest.end
DefinitionLast moment on which medication should be taken
Control0..1
TypedateTime
Prescription.administrationRequest.duration
DefinitionTotal duration of administration
Control0..1
TypeQuantity
Prescription.administrationRequest.numberOfAdministrations
DefinitionMaximum number of separate administrations before the instruction ends.
Control0..1
Typeinteger
Prescription.administrationRequest.dosageInstruction
DefinitionSpecification of dose and schedule for administration
Control1..*
CommentsThe can be >1 dosage instruction to support administration of varying doses, resulting in 1 instruction per fixed dose.
Prescription.administrationRequest.dosageInstruction.precondition
DefinitionPrecondition for starting the administration specified in this instruction
Control0..*
TypeCodeableConcept from AdministrationPrecondition
Prescription.administrationRequest.dosageInstruction.prn
DefinitionAs required (from Latin Pro Re Nate): Specifies whether administration is given to a fixed schedule (No) or only when the the state and symptoms of the patient at the time require it (Yes).
Control0..1
Typeboolean
CommentsDefault is "false"
Prescription.administrationRequest.dosageInstruction.additionalInstruction
DefinitionAdditional details to guide administration. Especially relevant for medicine administered by patient
Control0..*
TypeCodeableConcept from AdministrationInstruction
Prescription.administrationRequest.dosageInstruction.route
DefinitionRoute of administration (oral, nasal, intravenous)
Control0..1
TypeCodeableConcept from AdministrationRoute
CommentsSince the route of administration is generally determined by the choice of medication, it is not necessary to provide a value in route
Prescription.administrationRequest.dosageInstruction.dose[x]
DefinitionDose per administration, expressed in units of the (prepared) product
Control1..1
TypeQuantity|Range
CommentsDose may be an interval, "2-3 tablets per 4 hours"
Prescription.administrationRequest.dosageInstruction.rate
DefinitionFlow-rate for IV
Control0..1
TypeQuantity
Prescription.administrationRequest.dosageInstruction.schedule
DefinitionSchedule for administration. If multiple are given, they are considered to be active in parallel
Control1..*
TypeSchedule
CommentsWill submit proposal to change Schedule type.
Prescription.reason
DefinitionDiagnosis which is the reason for prescribing this medicine
Control0..1
TypeCodeableConcept from PrescriptionReason
Prescription.extension
DefinitionSee Extensions
Control0..*
TypeExtension
Prescription.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.23: Resource Formal Definitions: Problem

The formal definitions for the Problem (§3.14) resource.

Problem
DefinitionUse to record detailed information about problems or diagnoses recognised by a clinician. There are many uses including: recording a Diagnosis during an Encounter; populating a Problem List or a Summary Statement, such as a Discharge Summary
Control1..1
Problem.code
DefinitionIdentification of the problem or diagnosis.
Control1..1
TypeCodeableConcept from ProblemDiaganosisCode
Must Understandtrue
Problem.category
DefinitionA category assigned to the problem/diagnosis. E.g. finding | problem | diagnosis | concern | condition
Control0..1
TypeCodeableConcept from ProblemCategory
CommentsThe categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts
Problem.status
DefinitionThe clinical status of the problem or diagnosis
Control0..1
Typecode from ProblemStatus
Must Understandtrue
Problem.certainty
DefinitionThe degree of confidence that this problem/diagnosis is correct
Control0..1
TypeCodeableConcept from ProblemCertainty
Must Understandtrue
CommentsMay be a percentage
Problem.severity
DefinitionA subjective assessment of the severity of the Problem/Diagnosis as evaluated by the clinician.
Control0..1
TypeCodeableConcept from ProblemSeverity
Comments Coding of the severity with a terminology is preferred, where possible
Problem.onset[x]
DefinitionEstimated or actual date the problem/diagnosis began, in the opinion of the clinician
Control0..1
Typedate|Age
CommentsAge is generally used when the patient reports an age at which the problem began to occur
Problem.dateFound
DefinitionEstimated or actual date the problem/diagnosis was first detected/suspected
Control0..1
Typedate
Problem.abatement[x]
DefinitionThe date or estimated date that the problem/diagnosis resolved or went into remission
Control0..1
Typedate|Age|boolean
CommentsThere is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the problem abated
Problem.stage
DefinitionClinical stage or grade of a problem/diagnosis. May include formal severity assessments
Control0..1
Problem.stage.summary
DefinitionA simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific
Control0..1
TypeCodeableConcept
Problem.stage.assessment
DefinitionReference to a formal record of the evidence on which the staging assessment is based
Control0..*
TypeResource(Any)
Problem.evidence
Definitionsupporting Evidence / manfiestions that are the basis on which this problem/diagnosis is suspected or confirmed
Control0..*
CommentsThe evidence may be a simple lost of coded symptoms/manifestations, or references to observations or formal assessments, or both
Problem.evidence.code
DefinitionA manifestion or symptom that led to the recording of this problem/diagnosis
Control0..1
TypeCodeableConcept
Problem.evidence.details
DefinitionLinks to other relevant information, including pathology reports
Control0..1
TypeResource(Any)
Problem.location
DefinitionThe anatomical location where this problem/diagnosis manifests itself
Control0..1
CommentsMay be a summary code, or a reference to a very precise definition of the location, or both
Problem.location.code
Definitioncode that identifies the structural location
Control0..1
TypeCodeableConcept
CommentsMay include laterality
Problem.location.details
Definitiondetailed and structured anatomical location information
Control0..1
TypeResource(AnatomicalLocation)
Problem.relatedItem
DefinitionFurther problems, diagnoses, procedures or events that are related in some way to this problem/diagnosis, or the substance that caused/triggered this problem
Control0..*
CommentsAlthough a problem may be caused by a substance, this is not intended to be used to record allergies/adverse reactions to substances
Problem.relatedItem.type
DefinitionThe type of relationship that this problem/diagnosis has to the related item
Control1..1
Typecode from ProblemRelationshipType
Problem.relatedItem.target
Definitiontarget of the relationship
Control1..1
TypeResource(Problem|Procedure|Substance)
Problem.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mapping[varies]
Problem.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.24: Resource Formal Definitions: Profile

The formal definitions for the Profile (§1.6) resource.

Profile
DefinitionA Resource Profile - a statement of use of FHIR. It may include constraints on Resources, Data Types, Terminology Binding Statements and Extension Definitions
Control1..1
AliasesTemplate
CommentsOften called a clinical template
Profile.name
DefinitionA free text natural language name identifying the Profile
Control1..1
Typestring
CommentsNot expected to be globally unique
Profile.version
DefinitionThe official version of this profile - for external version specific references. This has an arbitrary value managed by the profile author manually
Control0..1
Typestring
RequirementsThe resource version id will change for technical reasons, whereas the stated version number needs to be under the author's control
Profile.author
DefinitionDetails of the author who accepts responsibility for publishing the profile
Control1..1
RequirementsHelps establish the "authority/credibility" of the profile. May also allow for contact
CommentsUsually an organization, but may be an individual
Profile.author.name
DefinitionThe name of the individual or organization with primary responsibility for the content of the profile
Control1..1
Typestring
Profile.author.reference
DefinitionReference to the author to assist a user in finding and communicating with the author
Control0..*
Typeuri
CommentsMay be a web site, an email address, a telephone number (tel:), etc.
Profile.description
DefinitionA free text natural language description of the profile and its use
Control1..1
Typestring
CommentsThis field can be used for things such as why the profile was written, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is *not* a rendering of the profile as conveyed in Profile.text
Profile.code
DefinitionA set of terms from external terminologies that may be used to assist with indexing and searching of templates.
Control0..*
TypeCoding
RequirementsAssist in searching for appropriate profiles
Profile.status
DefinitionIndicates where the profile exists in its overall life-cycle
Control1..1
Must Understandtrue
RequirementsAllows filtering of profiles that are appropriate for use vs. not
Profile.status.code
DefinitionA coded value for the position of the profile within its life-cycle
Control1..1
Typecode from ResourceProfileStatus
Must Understandtrue
Profile.status.date
DefinitionThe date that the current value for status was applied to the profile
Control1..1
TypedateTime
Profile.status.comment
DefinitionAdditional commentary related to the profile's status
Control0..1
Typestring
Profile.import
DefinitionOther profiles that define extensions and bindings that are used in this profile
Control0..*
Profile.import.uri
DefinitionThe identifier for the profile, ideally the URL it can be retrieved from
Control1..1
Typeuri
CommentsAny resource definitions from these other profiles are not imported
Profile.import.prefix
DefinitionThe short label used for display of the profile when uniquely identifying imported extensions
Control0..1
Typestring
CommentsProfile instances are always conveyed using full URIs - the prefix is solely for use by entry and rendering tools
Profile.bundle
DefinitionIf this profile describes a bundle, the first resource in the bundle (usually a Message or a Document)
Control0..1
Typecode from ResourceType
Profile.resource
DefinitionA constraint statement about what contents a resource or data type may have
Control0..*
To DoConsider adding elements to support capturing events
Profile.resource.type
DefinitionThe Resource or Data type being described
Control1..1
Typecode from FHIRContentType
Profile.resource.profile
DefinitionReference to a resource profile that includes the constraint statement that applies to this resource
Control0..1
Typeuri
Profile.resource.name
DefinitionThe name of this resource constraint statement (to refer to it from other resource constraints)
Control0..1
Typestring
CommentsThis field is the target for a resource.profile
Profile.resource.purpose
DefinitionHuman summary: why describe this resource?
Control0..1
Typestring
Profile.resource.element
DefinitionCaptures constraints on each element within the resource
Control0..*
Profile.resource.element.path
DefinitionThe path identifies the element and is expressed as a "."-separated list of ancestor elements, beginning with the name of the resource
Control1..1
Typestring
Profile.resource.element.name
DefinitionA unique name referring to a specific set of constraints applied to this element
Control0..1
Typestring
CommentsThe name must be unique within the profile and all imported profiles within the context of the constrained resource element. (Though to avoid confusion, uniqueness across all elements is recommended.)
Profile.resource.element.definition
DefinitionDefinition of the content of the element to provide a more specific definition than that contained for the element in the base resource
Control1..1
CommentsThe definition must be a proper constraint on the definition of the base resource
Profile.resource.element.definition.short
DefinitionA concise definition that is shown in the concise XML format that summarizes profiles
Control1..1
Typestring
CommentsMay change the term to provide language more appropriate to the context of the profile or to reflect slicing
Profile.resource.element.definition.formal
Definition The definition must be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource
Control1..1
Typestring
RequirementsTo allow a user to clarify the usage of an element in a particular context
CommentsIt is easy for a different definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing definitions
Profile.resource.element.definition.comments
DefinitionComments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc.
Control0..1
Typestring
CommentsIf it is possible to capture usage rules using invariants, that mechanism should be used in preference to this element
Profile.resource.element.definition.requirements
DefinitionExplains why this element is needed and why it's been constrained as it has
Control0..1
Typestring
Profile.resource.element.definition.synonym
DefinitionIdentifies additional names by which this element might also be known
Control0..*
Typestring
RequirementsAllows for better easier recognition of the element by multiple communities, including international communities
Profile.resource.element.definition.min
DefinitionThe minimum number of times this element must appear in the instance
Control1..1
Typeinteger
Profile.resource.element.definition.max
DefinitionThe maximum number of times this element is permitted to appear in the instance
Control1..1
Typestring
Profile.resource.element.definition.type
DefinitionThe data type or resource that the value of this element is permitted to be
Control0..*
RequirementsThe Type of the element can be left blank, in which case the type is inherited from the resource. The type can only be listed in this field if it is an allowed option in the base resource
Profile.resource.element.definition.type.code
DefinitionData type or Resource
Control1..1
Typecode from DataType
Profile.resource.element.definition.type.profile
DefinitionIdentifies a profile that must hold for resources or datatypes referenced as the type of this element
Control0..1
Typeuri
CommentsThe reference might be a simple name in the form #[name], which is a reference to another named constraint in a resource - where the resource contains more than one constraint, or a URL which is a reference to a resource Profile
Profile.resource.element.definition.nameReference
DefinitionIdentifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element
Control0..1
Typestring
CommentsIf child components of this element are defined, they act as constraints on the referenced slice
Profile.resource.element.definition.value[x]
DefinitionSpecifies a value that must hold for this element in the instance
Control0..1
Type*
CommentsTo specify a fixed value for a complex data type, include the child elements for the type and specify fixed values for each property independently
Profile.resource.element.definition.maxLength
DefinitionIndicates the shortest length that must be supported by conformant instances without truncation
Control0..1
Typeinteger
CommentsIf not specified, there is no conformance expectation for length support
To DoNeed to flesh this out more - leverage v2 approach
Profile.resource.element.definition.condition
DefinitionA reference to an invariant that may make additional statements about the cardinality in the instance
Control0..*
Typeid
Profile.resource.element.definition.constraint
DefinitionFormal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance
Control0..*
CommentsConstraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint
Profile.resource.element.definition.constraint.id
DefinitionAllows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality
Control1..1
Typeid
Profile.resource.element.definition.constraint.name
DefinitionUsed to label the constraint in OCL or in short displays incapable of displaying the full human description
Control0..1
Typestring
Profile.resource.element.definition.constraint.severity
DefinitionIdentifies the impact constraint violation has on the conformance of the instance
Control1..1
Typecode from ConstraintSeverity
CommentsThis allows constraints to be asserted as "shall" (error) and "should" (warning)
Profile.resource.element.definition.constraint.human
DefinitionThis is the text that describes the constraint in messages identifying that the constraint has been violated
Control1..1
Typestring
CommentsShould be expressed in business terms as much as possible
Profile.resource.element.definition.constraint.xpath
DefinitionXPath expression of constraint
Control1..1
Typestring
RequirementsUsed in Schematron tests of the validity of the resource
CommentsElements must use "f" as the namespace prefix and must not use any other prefixes
Profile.resource.element.definition.constraint.ocl
DefinitionOCL expression of constraint
Control0..1
Typestring
Profile.resource.element.definition.mustSupport
DefinitionIf true, conformant resource authors must be capable of providing a value for the element and resource consumers must be capable of extracting and doing something useful with the data element. If false, the element may be ignored and not supported
Control0..1
Typeboolean
RequirementsAllows a profile to set expectations for system capabilities beyond merely respecting cardinality constraints
Comments"Something useful" is context dependent. Key test is what would a reasonable observer expect of a system that explicitly claims to "support" this element
Profile.resource.element.definition.mustUnderstand
DefinitionIf true, the element cannot be ignored by systems unless they recognize the element and a pre-determination has been made that it is not relevant to their particular system
Control0..1
Typeboolean
RequirementsAllows elements to be introduced into a specification that can't safely be ignored by applications that don't recognize them
CommentsMustUnderstand elements can be ignored by applications that recognize the element and know that the element is not relevant in the context of their system.
Profile.resource.element.definition.binding
DefinitionIdentifies the set of codes that applies to this element if a data type supporting codes is used
Control0..1
Typestring
Profile.resource.element.definition.mapping
DefinitionIdentifies a concept from an external specification that roughly corresponds to this element
Control0..*
RequirementsProvides guidance to implementers familiar with or converting content from other specifications
CommentsMappings are not necessarily specific enough for safe translation
Profile.resource.element.definition.mapping.target
DefinitionThe name of the specification is mapping is being expressed to
Control1..1
Typestring
CommentsHL7 will provide guidelines for the name strings to use for common specifications
Profile.resource.element.definition.mapping.map
DefinitionExpresses what part of the target specification corresponds to this element
Control0..1
Typestring
CommentsFor most mappings, the syntax is undefined. Syntax will be provided for mappings to the RIM. Multiple mappings may be possible and may include constraints on other resource elements that identify when a particular mapping applies
Profile.resource.element.bundled
DefinitionWhether the Resource that is the value for this element is included in the bundle, if the profile is specifying a bundle
Control0..1
Typeboolean
CommentsIf context includes bundling
Profile.resource.element.closed
DefinitionIndicates whether the set of slices defined is "exhaustive". I.e. Have all the possible variants for the repeating element been defined? If true, then no new slices can be created off the base element in derived profiles - though existing slices can be further sliced if they are defined as repeating elements
Control0..1
Typeboolean
Profile.resource.searchParam
DefinitionDefines additional search parameters for implementations to support and/or make use of
Control0..*
RIM MappingN/A
Profile.resource.searchParam.name
DefinitionCorresponds to the name of the standard or custom search parameter
Control1..1
Typestring
CommentsParameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined
RIM MappingN/A
Profile.resource.searchParam.type
DefinitionThe type of value a search parameter refers to, and how the content is interpreted
Control1..1
Typecode from SearchParamType
RIM MappingN/A
Profile.resource.searchParam.repeats
DefinitionWhether multiple uses of the parameter are allowed in searches, and if they are, how the multiple values are understood
Control1..1
Typecode from SearchRepeatBehavior
RIM MappingN/A
Profile.resource.searchParam.documentation
DefinitionFor standard parameters, provides additional information on how the parameter is used in this solution. For custom parameters, provides a description of what the parameter does
Control1..1
Typestring
RIM MappingN/A
Profile.extensionDefn
DefinitionAn extension defined as part of the profile
Control0..*
Profile.extensionDefn.id
DefinitionA unique code (within the profile) used to identify the extension
Control1..1
Typeid
CommentsMatches the portion of a reference to an extension after the # in the a url to the profile
Profile.extensionDefn.contextType
DefinitionIdentifies the type of context to which the extension applies
Control1..1
Typecode from ExtensionContext
Profile.extensionDefn.context
DefinitionIdentifies the types of resource or data type elements to which the extension can be applied
Control1..*
Typestring
Profile.extensionDefn.definition
DefinitionDefinition of the extension and its content
Control1..1
Type@Profile.resource.element.definition
Profile.binding
DefinitionDefines a linkage between a vocabulary binding name used in the profile (or expected to be used in profile importing this one) and a value set or code list
Control0..*
Profile.binding.name
DefinitionThe name to be associated with this set of codes
Control1..1
Typestring
CommentsMust be unique within the profile. If the same name as an imported profile, will override the imported binding (and must be a proper constraint on the imported binding)
Profile.binding.definition
DefinitionDescribes the intended use of this particular set of codes
Control0..1
Typestring
Profile.binding.type
DefinitionIdentifies how the set of codes for this binding is being defined
Control1..1
Typecode from BindingType
Profile.binding.isExtensible
DefinitionIf true, then conformant systems may use additional codes or (where the data type permits) text alone to convey concepts not covered by the set of codes identified in the binding. If false, then conformant systems are constrained to the provided codes alone
Control1..1
Typeboolean
CommentsWhen the binding use used for elements with a type of "code" (rather than Coding or CodableConcept), the binding is treated as non-extensible regardless of the value of this property
Profile.binding.conformance
DefinitionIndicates the degree of conformance expectations associated with this binding
Control1..1
Typecode from BindingConformance
Profile.binding.reference
DefinitionPoints to the value set or external definition that identifies the set of codes to be used
Control0..1
Typeuri
CommentsFor value sets, this should point to a ValueSet resource. The reference may be version-specific or not
Profile.binding.concept
DefinitionIdentifies the codes forming the code list for the binding
Control0..*
Profile.binding.concept.code
DefinitionIdentifies the code referenced or being defined as part of the binding
Control1..1
Typestring
Profile.binding.concept.system
DefinitionIdentifies the system in which the referenced code is defined
Control0..1
Typeuri
CommentsIf no system is specified, then the id for the profile is combined with the binding name to determine an implicit system uri
Profile.binding.concept.display
DefinitionIdentifies the text to be displayed to the user for this code. If none provided, then the code itself is displayed
Control0..1
Typestring
Profile.binding.concept.definition
DefinitionA free-text description of the meaning of this code
Control1..1
Typestring
CommentsDefinition should not overlap with that of any other concepts in the code list
Profile.extension
DefinitionSee Extensions
Control0..*
TypeExtension
Profile.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.25: Resource Formal Definitions: Provenance

The formal definitions for the Provenance (§3.15) resource.

Provenance
DefinitionProvenance information associated with another resource that can be used to help determine its reliability or trace where the information in it came from. The focus of the provenance resource is record keeping, audit and traceability, not clinical meaning
Control1..1
CommentsSome parties may be duplicated between the target resource and its provenance. For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance
RIM MappingControlAct[isNormalAct() and subsumes(CACT, classCode) and moodCode=EVN]
Provenance.target
DefinitionThe resource that this provenance information pertains to
Control1..1
TypeResource(Any)
Must Understandtrue
CommentsThe target reference is usually version specific, but may not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document)
RIM Mapping./outboundRelationship[isNormalActRelationship() and typeCode=SUBJ]/target OR ./participation[isNormalParticipation() and typeCode=SBJ]/role OR ./participation[isNormalParticipation() and typeCode=SBJ]/role[isNormalRole()]/player
Provenance.activity
DefinitionThe activity that was being undertaken that led to the creation of the resource being referenced
Control1..1
RIM Mapping.
Provenance.activity.period
DefinitionThe period during which the activity occurred
Control0..1
TypePeriod
CommentsThe period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time
RIM Mapping./effectiveTime[type=IVL_TS]
Provenance.activity.recorded
DefinitionThe instant of time at which the activity was recorded
Control1..1
Typeinstant
CommentsThis can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource
RIM Mappingunique(./participation[isNormalParticipation() and typeCode=AUT]/time[type=TS])
Provenance.activity.reason
DefinitionThe reason that the activity was taking place
Control0..1
TypeCodeableConcept
RIM Mappingunique(./reasonCode)
Provenance.activity.location
DefinitionWhere the activity occurred, if relevant
Control0..1
RIM Mappingunique(./participation[isNormalParticipation() and typeCode=LOC]/role[isNormalRole() and subsumes(SDLOC, classCode)]/player[isNormalEntity and classCode="LOC" and determinerCode="INST"]
Provenance.activity.location.type
DefinitionThe type of location - a classification of the kind of location at which the activity took place
Control0..1
TypeCodeableConcept from ProvenanceLocationType
RIM Mapping./code
Provenance.activity.location.id
DefinitionAn identifier for the location
Control0..1
TypeIdentifier
RIM Mappingunique(./id)
Provenance.activity.location.description
DefinitionHuman readable description of location at which the activity occurred
Control0..1
Typestring
RIM Mapping./description
Provenance.activity.location.coords
DefinitionGeospatial coordinates of the location
Control0..1
Typestring
CommentsTodo: what format should this be in?
RIM Mapping./playedRole[isNormalRole() and classCode=SDLOC]/participation[isNormalParticipation() and typeCode="SBJ"]/act[isNormalAct() and subsumes(OBS, classCode) and moodCode=EVN and hasDomain(code, GPSCoordinates)]/value[type=ST]
Provenance.activity.policy
DefinitionPolicy or plan the activity was defined by
Control0..1
Typeuri
RIM Mapping./inboundRelationship[isNormalActRelationship() and typeCode="SUBJ"]/source[isNormalAct and subsumes(POLICY, classCode) and moodCode=EVN]/text[typeCode='ED'/tel
Provenance.party
DefinitionAn entity that is involved in the provenance of the target resource
Control0..*
RIM Mapping./participation[isNormalParticipation()] OR ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV']
To DoIs DRIV the appropriate semantic for "support"?
Provenance.party.role
DefinitionThe role that the participant played
Control1..1
TypeCoding from ProvenanceParticipantRole
RIM Mappingattestor: .[self::participation]/typeCode='RESP' author: .[self::participation]/typeCode='AUT' cc: .[self::participation]/typeCode='IRCP' enterer: .[self::participation]/typeCode='ENT' informant: .[self::participation]/typeCode='INF' performer: .[self::participation]/typeCode='PRF' verifier: .[self::participation]/typeCode='VRF' source: .[self::outboundRelationship]/typeCode=''
To DoFigure out how to handle: application, daemon for RIM mappings. Figure out better mapping for attestor, perhaps after RIM harmonization proposal
Provenance.party.type
DefinitionThe type of the participant
Control1..1
TypeCoding from ProvenanceParticipantType
CommentsIf the type is "resource" then the resource itself was the participant. If the type is a type of resource, then the entity identified by the resource is the participant
RIM Mappingperson: ./role[isNormalRole() and classCode='REL']/player[isNormalEntity and classCode='PER' and determinerCode='INST'] agent: ./role[isNormalRole() and classCode='ASSIGNED' and player[isNormalEntity and classCode='PSN' and determinerCode='INST']] organization: ./role[isNormalRole() and classCode='ASSIGNED' and not(player)]/scoper[isNormalEntity and classCode='ORG' and determinerCode='INST'] software: ./role[isNormalRole() and classCode='ASSIGNED']/scoper[isNormalEntity and classCode='DEV' and determinerCode='INST' and hasDomain(code, 'Software')] document: ./target[isNormalAct and subsumes('DOC', classCode) and moodCode='EVN']
To DoNot sure how to make "resource" or "record" RIM mappings work
Provenance.party.id
DefinitionIdentity of participant. May be a logical or physical uri and maybe absolute or relative
Control1..1
Typeuri
Commentsidentity may be a reference to a resource or to something else, depending on the type
RIM Mapping./id
Provenance.party.description
DefinitionHuman readable description of the participant
Control0..1
Typestring
RIM Mapping./player/description OR ./description OR ./text
Provenance.signature
DefinitionA digital signature on the target resource. The signature should reference a participant by xml:id
Control0..1
Typestring
Commentsjson? Xml?
RIM Mapping./signatureText
Provenance.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mapping[varies]
Provenance.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.26: Resource Formal Definitions: SecurityEvent

The formal definitions for the SecurityEvent (§3.16) resource.

SecurityEvent
DefinitionA record of an event
Control1..1
CommentsBased on ATNA (RFC 3881)
SecurityEvent.event
Definitionidentifies the name, action type, time, and disposition of the audited event
Control1..1
SecurityEvent.event.id
DefinitionIdentifier for a specific audited event
Control1..1
TypeCoding
RequirementsThis identifies the audited function. For "Execute" Event Action Code audit records, this identifies the application function performed.
Commentse.g., a menu item, program, rule, policy, function code, application name, or URL. It identifies the performed function
SecurityEvent.event.action
DefinitionIndicator for type of action performed during the event that generated the audit
Control0..1
Typecode from SecurityEventEventAction
RequirementsThis broadly indicates what kind of action was done on the Participant Object
SecurityEvent.event.dateTime
DefinitionThe time when the event occurred on the source
Control1..1
Typeinstant
RequirementsThis ties an event to a specific date and time. Security audits typically require a consistent time base, e.g., UTC, to eliminate time-zone issues arising from geographical distribution
CommentsIn a distributed system, some sort of common time base, e.g., an NTP [RFC1305] server, is a good implementation tactic
SecurityEvent.event.outcome
DefinitionIndicates whether the event succeeded or failed
Control1..1
Typecode from SecurityEventEventOutcome
CommentsIn some cases a "success" may be partial, for example, an incomplete or interrupted transfer of a radiological study. For the purpose of establishing accountability, these distinctions are not relevant
SecurityEvent.event.code
DefinitionIdentifier for the category of event
Control0..*
TypeCoding
RequirementsThis field enables queries of messages by implementation-defined event categories
SecurityEvent.participant
Definitiona person, or a hardware device or software process
Control0..*
CommentsThere may be more than one user per event, for example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, or system process. However, only one user may be the initiator/requestor for the event
SecurityEvent.participant.userId
DefinitionUnique identifier for the user actively participating in the event
Control1..1
Typestring
RequirementsThis field ties an audit event to a specific user
Commentsa unique value within the Audit Source ID. For node-based authentication -- where only the system hardware or process, but not a human user, is identified -- User ID would be the node name
SecurityEvent.participant.otherUserId
DefinitionUser identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g., single sign-on), if available
Control0..1
Typestring
RequirementsIn some situations a user may authenticate with one identity but, to access a specific application system, may use a synonymous identify. For example, some "single sign on" implementations will do this. The alternative identifier would then be the original identify used for authentication, and the User ID is the one known to and used by the application
SecurityEvent.participant.name
Definitionhuman-meaningful name for the user
Control0..1
Typestring
RequirementsThe User ID and Alternative User ID may be internal or otherwise obscure values. This field assists the auditor in identifying the actual user
SecurityEvent.participant.requestor
DefinitionIndicator that the user is or is not the requestor, or initiator, for the event being audited.
Control1..1
Typeboolean
RequirementsThis value is used to distinguish between requestor-users and recipient-users. For example, one person may initiate a report-output to be sent to a another user
SecurityEvent.participant.role
DefinitionSpecification of the role(s) the user plays when performing the event, as assigned in role-based access control security
Control0..*
TypeCoding
RequirementsThis value ties an audited event to a user's role(s). It is an optional value that might be used to group events for analysis by user functional role categories
SecurityEvent.participant.network
Definitionlogical network location for application activity
Control0..1
SecurityEvent.participant.network.type
DefinitionAn identifier for the type of network access point that originated the audit event
Control0..1
Typecode from SecurityEventParticipantNetworkType
RequirementsThis datum identifies the type of network access point identifier of the user device for the audit event. It is an optional value that may be used to group events recorded on separate servers for analysis of access according to a network access point's type
SecurityEvent.participant.network.id
DefinitionAn identifier for the network access point of the user device for the audit event
Control0..1
Typestring
RequirementsThis datum identifies the user's network access point, which may be distinct from the server that performed the action. It is an optional value that may be used to group events recorded on separate servers for analysis of a specific network access point's data access across all servers
CommentsThis could be a device id, IP address, or some other identifier associated with a device
SecurityEvent.source
Definitionapplication systems and processes
Control0..*
CommentsSince multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants, e.g., low-level network transports, need not be identified
SecurityEvent.source.site
DefinitionLogical source location within the healthcare enterprise network
Control0..1
Typestring
RequirementsThis value differentiates among the sites in a multi-site enterprise health information system
Commentsa hospital or other provider location within a multi-entity provider group
SecurityEvent.source.id
DefinitionIdentifier of the source where the event originated
Control1..1
Typestring
RequirementsThis field ties the event to a specific source system. It may be used to group events for analysis according to where the event occurred
SecurityEvent.source.type
DefinitionCode specifying the type of source where event originated
Control0..*
TypeCoding from SecurityEventSourceType
RequirementsThis field indicates which type of source is identified by the Audit Source ID. It is an optional value that may be used to group events for analysis according to the type of source where the event occurred
SecurityEvent.object
Definitionspecific instances of data or objects that have been accessed
Control0..*
Commentsrequired unless the values for Event Identification, Active Participant Identification, and Audit Source Identification are sufficient to document the entire auditable event. Because events may have more than one participant object, this group can be a repeating set of values.
SecurityEvent.object.type
Definitionobject type being audited
Control0..1
Typecode from SecurityEventObjectType
RequirementsTo describe the object being acted upon. In addition to queries on the subject of the action in an auditable event, it is also important to be able to query on the object type for the action
CommentsThis value is distinct from the user's role or any user relationship to the participant object
SecurityEvent.object.role
DefinitionCode representing the functional application role of Participant Object being audited
Control0..1
Typecode from SecurityEventObjectRole
RequirementsFor some detailed audit analysis it may be necessary to indicate a more granular type of participant, based on the application role it serves
CommentsSee Rfc 3881 for rules concerning matches between role and type
SecurityEvent.object.lifecycle
DefinitionIdentifier for the data life-cycle stage for the participant object
Control0..1
Typecode from SecurityEventObjectLifecycle
RequirementsInstitutional policies for privacy and security may optionally fall under different accountability rules based on data life cycle. This provides a differentiating value for those cases
CommentsThis can be used to provide an audit trail for data, over time, as it passes through the system
SecurityEvent.object.idType
DefinitionDescribes the identifier that is contained in Participant Object ID
Control1..1
TypeCoding from SecurityEventObjectIdType
SecurityEvent.object.id
DefinitionIdentifies a specific instance of the participant object
Control1..1
Typestring
CommentsValue format depends on Participant Object Type Code and the Participant Object ID Type Code
SecurityEvent.object.sensitivity
DefinitionDenotes policy-defined sensitivity for the Participant Object ID such as VIP, HIV status, mental health status, or similar topics
Control0..1
Typestring
RequirementsThis field identifies a specific instance of an object, such as a patient, to detect/track privacy and security issues
CommentsValues are institution- and implementation-defined text strings
SecurityEvent.object.name
DefinitionAn instance-specific descriptor of the Participant Object ID audited, such as a person's name
Control0..1
Typestring
CommentsThis field may be used in a query/report to identify audit events for a specific person, e.g., where multiple synonymous Participant Object IDs (patient number, medical record number, encounter number, etc.) have been used
SecurityEvent.object.query
DefinitionThe actual query for a query-type participant object
Control0..1
Typebase64Binary
RequirementsFor query events it may be necessary to capture the actual query input to the query process in order to identify the specific event. Because of differences among query implementations and data encoding for them, this is a base 64 encoded data blob. It may be subsequently decoded or interpreted by downstream audit analysis processing
SecurityEvent.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mapping[varies]
SecurityEvent.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.27: Resource Formal Definitions: Test

The formal definitions for the Test (§3.17) resource.

Test
Definition[Template] Master Definition
Control1..1
Test.stringErr
DefinitionStrings with invalid content
Control0..*
Typestring
Test.stringCorr
DefinitionStrings with correct content
Control0..*
Typestring
Test.booleanErr
DefinitionBooleans with invalid content
Control0..*
Typeboolean
Test.booleanCorr
DefinitionBooleans with correct content
Control0..*
Typeboolean
Test.integerErr
DefinitionIntegers with invalid content
Control0..*
Typeinteger
Test.integerCorr
DefinitionIntegers with correct content
Control0..*
Typeinteger
Test.decimalErr
DefinitionDecimals with invalid content
Control0..*
Typedecimal
Test.decimalCorr
DefinitionDecimals with correct content
Control0..*
Typedecimal
Test.b64Err
DefinitionBinaries with invalid content
Control0..*
Typebase64Binary
Test.b64Corr
DefinitionBinaries with correct content
Control0..*
Typebase64Binary
Test.instantErr
DefinitionInstants with invalid content
Control0..*
Typeinstant
Test.instantCorr
DefinitionInstants with correct content
Control0..*
Typeinstant
Test.uriErr
DefinitionUri's with invalid content
Control0..*
Typeuri
Test.uriCorr
DefinitionUri's with correct content
Control0..*
Typeuri
Test.extension
DefinitionSee Extensions
Control0..*
TypeExtension
Test.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.28: Resource Formal Definitions: ValueSet

The formal definitions for the ValueSet (§2.8) resource.

ValueSet
DefinitionValue Set - a set of defined codes from one or more code systems that may be bound to a context
Control1..1
RIM MappingN/A
ValueSet.name
DefinitionA free text natural language name describing the value set
Control1..1
Typestring
RequirementsSupport human navigation
CommentsNot expected to be unique
RIM MappingN/A
ValueSet.author
DefinitionDetails of the author who accepts responsibility for publishing the value set
Control1..1
RequirementsIdentifies responsibility
CommentsUsually an organisation, but may be an individual
RIM MappingN/A
ValueSet.author.name
DefinitionThe name of the author
Control1..1
Typestring
RIM MappingN/A
ValueSet.author.reference
DefinitionSome way of reaching or finding the author.
Control0..1
Typeuri
RequirementsAllow a user to find and communicate with the author
CommentsMay be a web site, an email address, a telephone number
RIM MappingN/A
ValueSet.description
DefinitionA free text natural language description of the value set - contents, reason for definition, conditions of use, etc.
Control1..1
Typestring
RequirementsHuman understandibility
RIM MappingN/A
ValueSet.status
DefinitionThe status of the value set
Control1..1
Typecode from ValueSetStatus
Must Understandtrue
RequirementsIdentify when/if the value set should be used.
RIM MappingN/A
ValueSet.date
DefinitionThe date that the value set status was last changed
Control1..1
TypedateTime
RequirementsNeed to know when a value set was first legal for use or became withdrawn or replaced.
CommentsNote that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the value set
RIM MappingN/A
ValueSet.identifier
DefinitionThe identifier that is used to identify this value set when it is referenced in a specification, model, design or an instance
Control1..1
Typeid
CommentsThere may be multiple versions of the value set that have this same identifier
RIM MappingN/A
ValueSet.version
DefinitionThe identifier that is used to identify this version of the value set when it is referenced in a specification, model, design, or instance
Control1..1
Typeid
RIM MappingN/A
ValueSet.restricts
DefinitionAn assertion that this value set is a restriction on another value set - that it only includes codes that are part of the other value set. The value set itself must ensure that this is true - the contents of the value set are not automatically bounded by the contents of any value set identified here. This allows profile tooling to reason about the relationships between value sets without having to determine the value set contents
Control0..*
Typeuri
CommentsIn most cases, the claim of restriction could be validated in a particular context of use, but it is not necessary to do so
RIM MappingN/A
ValueSet.import
DefinitionIncludes the contents of the referenced value set as part of the contents of this value set
Control0..*
Typeuri
RIM MappingN/A
ValueSet.include
DefinitionInclude one or more codes from a code system
Control0..*
RIM MappingN/A
ValueSet.include.system
DefinitionThe code system from which the selected codes come from
Control1..1
Typeuri
CommentsSee [[Coding.system]] for further documentation
RIM MappingN/A
ValueSet.include.version
DefinitionThe version of the code system that the codes are selected from
Control0..1
Typestring
CommentsThis is used when selecting the descendents of a concept - they may change between versions. If no version is specified, then the exact contents of the value set may not be known until a context of use binds it to a particular version
RIM MappingN/A
ValueSet.include.mode
DefinitionThe mode of selection - whether the code itself, and/or its descendants are being selected
Control1..1
Typecode from CodeSelectionMode
CommentsIt is an error to include codes that are marked "abstract" in a value set that is used directly in a specification, but not an error to include an abstract code in a value set not destined for this use
RIM MappingN/A
ValueSet.include.code
DefinitionSpecifies a code or concept to be included or excluded as specified by the mode from the value set
Control0..*
Typecode from !
Commentsexpressions are allowed if defined by the underlying code system
RIM MappingN/A
ValueSet.include.filter
DefinitionSelect concepts by specify a matching criteria based on the properties defined by the system. If multiple filters are specified, they must all be true
Control0..*
CommentsSelecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party
RIM MappingN/A
ValueSet.include.filter.property
DefinitionA code that identifies a property defined in the code system
Control1..1
Typecode from !
RIM MappingN/A
ValueSet.include.filter.op
DefinitionThe kind of operation to perform as part of the filter criteria
Control1..1
Typecode from FilterOperator
RIM MappingN/A
ValueSet.include.filter.value
DefinitionThe match value may be either a code defined by the system, or a string value which is used a regex match on the literal string of the property value
Control1..1
Typecode from !
CommentsUse regex matching with care - full regex matching on every SNOMED-CT term is prohibitive, for example
RIM MappingN/A
ValueSet.exclude
DefinitionExclude one or more codes from the value set
Control0..*
Type@ValueSet.include
Commentsusually this is used to selectively exclude codes that were included by subsumption in the inclusions
RIM MappingN/A
ValueSet.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM MappingN/A
ValueSet.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative
RIM MappingN/A

5.29: Resource Formal Definitions: XdsEntry

The formal definitions for the XdsEntry (§3.18) resource.

XdsEntry
DefinitionAn entry in an XDS registry
Control1..1
XdsEntry.url
DefinitionA URL that is used to access the document content directly. If this is not provided, the document may be found be searching the repositoryId for the documentId
Control0..1
Typeuri
XdsEntry.repositoryId
DefinitionThe globally unique identifier of the repository where the document is stored, assigned by the Document Repository. This unique identifier for the Document Repository may be used to identify and connect to the specific Document Repository where the document is stored once its metadata has been retrieved from a Document Registry
Control0..1
Typeuri
CommentsThis repositoryUniqueId is intended to respond to the following types of usage: The means to reference the Document Repository where this XDS document is stored. The repositoryUniqueId represents an immutable id for the Document Repository. The means to ensure that a XDS Document is retrieved from the appropriate Document Repository.
XdsEntry.mimeType
DefinitionMIME type of the document in the Repository.
Control1..1
Typestring
XdsEntry.format
DefinitionCode globally uniquely specifying the format of the document. Along with the typeCode, it should provide sufficient information to allow any potential XDS Document Consumer to know if it will be able to process the document. The formatCode shall be sufficiently specific to ensure processing/display by identifying a document encoding, structure and template (e.g., for a CDA Document, the fact that it complies with a CDA schema, possibly a template and the choice of a content-specific style sheet).
Control1..1
TypeCoding
CommentsFormat codes may be specified by multiple organizations. Format codes defined by ITI shall have names with the prefix urn:ihe:iti:. Format codes defined by other IHE domains shall have names with the prefix urn:ihe:’domain initials’: Format codes defined by the Affinity Domain shall have names with the prefix urn:ad:’name of affinity domain’: Affinity Domains shall be unique. The prefixes described here are not assumed to be exhaustive.
XdsEntry.class
DefinitionThe code specifying the particular kind of document (e.g., Prescription, Discharge Summary, Report). It is suggested that the XDS Affinity Domain draws these values from a coding scheme providing a coarse level of granularity (about 10 to 100 entries). Shall have a single value.
Control1..1
TypeCoding
XdsEntry.type
DefinitionThe code specifying the precise kind of document (e.g., Pulmonary History and Physical, Discharge Summary, Ultrasound Report).
Control1..1
TypeCoding
CommentsIt is suggested that the XDS Affinity Domain draw these values from a coding scheme providing a fine level of granularity.
XdsEntry.title
DefinitionRepresents the title of the document.
Control0..1
Typestring
CommentsClinical documents often do not have a title, and are collectively referred to by the display name of the classCode (e.g., a "consultation" or "progress note"). Where these display names are rendered to the clinician, or where the document has a unique title, the title component shall be used. Max length, 128 chars
XdsEntry.documentId
DefinitionThe globally unique identifier assigned by the document creator to this document. This unique identifier may be used in the body of other XDS Documents to reference this document.
Control1..1
Typeuri
CommentsThe length of Unique Identifier shall not exceed 128 bytes. The structure and format of this Id shall be consistent with the specification corresponding to the format attribute. (e.g., for a DICOM standard document a 64 character numeric UID, for an HL7 CDA format a serialization of the CDA Document id extension and root in the form oid#extension, where OID is a 64 digits max, and the ID is a 16 UTF-8 char max). If the oid is coded without the extension then the '^' character shall not be included. This uniqueId is intended to provide the means to reference this XDS document from within the content of another document. Neither the XDS Registry nor the Repository is aware of such references, but the Document Sources and Consumers are
XdsEntry.availability
Definitiondeprecated documents can be included in some responses
Control1..1
Typecode from XdsEntryAvailability
CommentsThis attribute is always set to Approved as part of the submission of new XDS Documents. It may be changed to Deprecated under the primary responsibility of the Document Source with possible patient supervision. Although XDS supports the ability to delete documents, there is no such state as “the Document Entry is removed” (only an audit trail is kept if such a deletion is allowed).
XdsEntry.confidentialityCode
DefinitionThe code specifying the level of confidentiality of the XDS Document. These codes are specific to an XDS Affinity Domain.
Control1..1
TypeCoding
CommentsEnforcement and issues related to highly sensitive documents are beyond the scope of XDS (see security section). confidentialityCode is part of a codification scheme and value set enforced by the Document Registry.
XdsEntry.created
DefinitionRepresents the time the author created the document in the Document Source
Control1..1
Typeinstant
XdsEntry.event
DefinitionThis list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
Control0..*
TypeCoding
CommentsAn event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they shall not conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as “key words” for certain types of queries.
XdsEntry.hash
DefinitionHash key of the XDS Document itself
Control0..1
Typestring
CommentsThis value is computed by the Document Repository and used by the Document Registry for detecting the improper resubmission of XDS Documents. If present, shall have a single value. If this attribute is received in a Provide & Register Document Set-b [ITI-41] transaction, it shall be verified by the repository with the actual hash value of the submitted document; an XDSRepositoryMetadataError shall be returned on mismatch.
XdsEntry.size
DefinitionSize in bytes of the byte stream that was provided in the Register and Provide Transaction and stored by the XDS Document Repository. This value is computed by the Document Repository and included in the Register Documents Set Transaction.
Control0..1
Typestring
CommentsIf this attribute is received in a Provide & Register Document Set-b [ITI-41] transaction, it shall be verified by the repository with the actual size of the submitted document; an XDSRepositoryMetadataError shall be returned on mismatch.
XdsEntry.language
DefinitionSpecifies the human language of character data in the document. The values of the attribute are language identifiers as described by the IETF (Internet Engineering Task Force) RFC 3066.
Control0..1
Typestring
CommentsThis value may further be restricted by the registry according to XDS Affinity Domain specific policy.
XdsEntry.folder
DefinitionFolders that this document is registered in
Control0..*
TypeResource(XdsFolder)
XdsEntry.patientId
DefinitionThe patientId represents the subject of care of the document. This identifier shall be from the Assigning Authority Domain supporting the XDS Affinity Domain in which the Document Registry operates.
Control1..1
TypeIdentifier
CommentsThe system is the "Authority Domain Id" (enforced by the Registry), and the identifier is an Id in the above domain.
XdsEntry.sourcePatientId
DefinitionThe sourcePatientId represents the subject of care medical record Identifier (e.g., Patient Id) in the local patient Identifier Domain of the Document Source.
Control0..1
TypeIdentifier
CommentsThe system is the "Authority Domain Id" (enforced by the Registry), and the identifier is an Id in the above domain. This sourcePatientId is not intended to be updated once the Document is registered (just as the Document content and metadata itself will not be updated without replacing the previous document). As this sourcePatientId may have been merged by the source actor, it may no longer be in use within the Document Source (EHR-CR). It is only intended as an audit/checking mechanism and has occasional use for Document Consumer Actors.
XdsEntry.patientInfo
DefinitionThis is a reference to the demographics information of the person to whose medical record this document belongs, as the Document Source knew it at the time of Submission. This information typically includes: the patient first and last name, sex, and birth date
Control0..1
TypeResource(Person)
CommentsThe Clinical XDS Affinity Domain policies may require more or less specific information and format. This patient information is not intended to be updated once the Document is registered (just as the Document content and metadata itself will not be updated without replacing the previous document). As sourcePatientInfo may have been updated by the source actor, it may no longer be in use within the Document Source (EHR-CR). It is only intended as an audit/checking mechanism and has occasional use for Document Consumer actors.
XdsEntry.author
DefinitionRepresents the humans and/or machines that authored the document
Control1..*
XdsEntry.author.name
DefinitionRepresents the name of the human and/or machine that authored the document within the authorInstitution
Control0..1
TypeHumanName
CommentsThe document author may be the patient itself
XdsEntry.author.id
DefinitionRepresents the id of the human and/or machine that authored the document within the authorInstitution
Control0..1
TypeIdentifier
XdsEntry.author.role
DefinitionA code that represents the role of the author with respect to the patient when the document was created.
Control0..*
Typestring
XdsEntry.author.specialty
DefinitionRepresents a specific specialty within a healthcare facility under which the human and/or machines authored the document
Control0..*
Typestring
XdsEntry.author.institution
DefinitionRepresents a specific healthcare facility under which the human and/or machines authored the document. A specific case is that of homecare.
Control0..*
XdsEntry.author.institution.id
Definitionid of facility
Control0..1
TypeIdentifier
XdsEntry.author.institution.name
Definitionname of facility
Control0..1
Typestring
XdsEntry.author.contact
DefinitionRepresents the telecommunications address (e.g. email) of the document author, intended to assist with automated routing of other messages intended for the document author
Control0..*
TypeContact
XdsEntry.authenticator
DefinitionRepresents a participant who has legally authenticated or attested the document within the authorInstitution. Legal authentication implies that a document has been signed manually or electronically by the legalAuthenticator.
Control0..1
XdsEntry.authenticator.id
Definitionid of authenticator
Control0..1
TypeIdentifier
XdsEntry.authenticator.name
Definitionname of authenticator
Control0..1
TypeHumanName
XdsEntry.facilityType
DefinitionThis code represents the type of organizational setting of the clinical encounter during which the documented act occurred
Control0..1
TypeCoding
CommentsIn some cases, the setting of the encounter is inherent in the typeCode, such as "Diabetes Clinic Progress Note". healthcareFacilityTypeCode shall be equivalent to or further specialize the value inherent in the typeCode; for example, where the typeCode is simply "Clinic Progress Note" and the value of healthcareFacilityTypeCode is "private clinic". The value shall not conflict with the value inherent in the typeCode, as such a conflict would create an ambiguous situation
XdsEntry.practiceSetting
DefinitionThe code specifying the clinical specialty where the act that resulted in the document was performed (e.g., Family Practice, Laboratory, Radiology).
Control1..1
TypeCoding
CommentsIt is suggested that the XDS Affinity Domain draws these values from a coding scheme providing a coarse level of granularity (about 10 to 100 entries)
XdsEntry.homeCommunity
DefinitionA globally unique identifier for a community.
Control0..1
Typeuri
XdsEntry.service
DefinitionRepresents the time of the service being documented took place (clinically significant, but not necessarily when the document was produced or approved).
Control1..1
CommentsThis may be the same as the encounter time in case the service was delivered during an encounter. Encounter time is not coded in XDS metadata but may be coded in documents managed by XDS. Note: Other times, such as document creation or approval are to be recorded, if needed, within the document.
XdsEntry.service.start
DefinitionStart time
Control1..1
TypedateTime
XdsEntry.service.stop
DefinitionStop time
Control0..1
TypedateTime
XdsEntry.comments
DefinitionComments associated with the Document.
Control0..1
Typestring
Comments Free form text with an XDS Affinity Domain specified usage.
To DoShould this be removed? It is effectively for extensions
XdsEntry.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mapping[varies]
XdsEntry.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.30: Resource Formal Definitions: XdsEntry2

The formal definitions for the XdsEntry2 (§3.19) resource.

XdsEntry2
DefinitionAn entry in an XDS registry
Control1..1
XdsEntry2.id
DefinitionDocument identifier as assigned by the source of the document. This identifier is version specific. This unique identifier may be used in the body of other Documents etc to reference this document.
Control1..1
TypeIdentifier
CommentsThe length of the id shall not exceed 128 bytes. The structure and format of this Id shall be consistent with the specification corresponding to the format attribute. (e.g., for a DICOM standard document a 64 character numeric UID - urn:oid:, for an HL7 CDA format a serialization of the CDA Document id extension and root in the form oid^extension - hl7-att:, where OID is a 64 digits max, and the ID is a 16 UTF-8 char max). If the oid is coded without the extension then the '^' character shall not be included. This uniqueId is intended to provide the means to reference this XDS document from within the content of another document. Neither the XDS Registry nor the Repository is aware of such references, but the Document Sources and Consumers are
XdsEntry2.information
DefinitionDocument metadata that is used for searching for the document
Control0..1
TypeDocumentInformation
CommentsThe document metadata reflects what is in the document itself and is never updated once the entry is created
XdsEntry2.information.id
DefinitionLogical Identifier for the document, assigned when created. This identifier stays constant when subsequent versions of the document are created
Control0..1
TypeIdentifier
Must Understandtrue
Commentssee discussion in resource definition for how these relate
RIM MappingDocument.id / Document.setId
XdsEntry2.information.versionId
DefinitionVersion specific identifier for the document, assigned when created. This identifier changes when subsequent versions of the document are created
Control0..1
TypeIdentifier
Must Understandtrue
Commentssee discussion in resource definition for how these relate
RIM MappingDocument.id
XdsEntry2.information.instant
Definitionthe document creation time, when the document first came into being. Where the document is a transform from an original document in some other format, the ClinicalDocument.effectiveTime is the time the original document is created.
Control1..1
Typeinstant
Must Understandtrue
RequirementsCreation time is used for tracking, organizing versions and searching.
RIM Mapping./effectiveTime[type="TS"]
XdsEntry2.information.class
DefinitionThe code specifying the particular kind of document (e.g., Prescription, Discharge Summary, Report).
Control0..1
TypeCoding
Comments It is suggested that the XDS Affinity Domain draws these values from a coding scheme providing a coarse level of granularity (about 10 to 100 entries). Shall have a single value. This should be an extension
XdsEntry2.information.type
DefinitionSpecifies the particular kind of document (e.g. History and Physical, Discharge Summary, Progress Note)
Control1..1
TypeCodeableConcept from DocumentType
Must Understandtrue
RequirementsKey metadata element describing the document, used in searching/filtering.
RIM Mapping./code
XdsEntry2.information.title
DefinitionOfficial human-readable label for the document
Control0..1
Typestring
RequirementsHelps humans to assess whether the document is of interest
CommentsIt's commonly the case that clinical documents do not have a title and are collectively referred to by the display name of Document.type (e.g. a "consultation" or "progress note"). Where these display names are rendered to the clinician or where the document has a unique title, the Document.title value should be used
RIM Mapping./title
XdsEntry2.information.confidentialityCode
DefinitionThe code specifying the level of confidentiality of the XDS Document. These codes are specific to an XDS Affinity Domain.
Control1..1
TypeCoding
CommentsEnforcement and issues related to highly sensitive documents are beyond the scope of XDS (see security section). confidentialityCode is part of a codification scheme and value set enforced by the Document Registry.
XdsEntry2.information.subject
DefinitionIdentifies the primary subject of the document.
Control1..1
TypeResource(Person|Patient|Group|Device)
Must Understandtrue
RequirementsEssential metadata for searching for the document, identifies who the document applies to
CommentsFor clinical documents, this is usually the patient.
RIM Mappingunique(./participation[typeCode="SBJ" and isNormalParticipation]/role[typeCode="PAT"]) or unique(./participation[typeCode="SBJ" and isNormalParticipation]/role[typeCode="IDENT"]/player[determinerCode="INST" and classCode=("DEV", "ORG") and isNormalEntity()])
To DoNeed to extend this to support documents with other types of subjects. Also rationalize with encounter & context elements
XdsEntry2.information.author
DefinitionIdentifies who is responsible for the information in the document. (Not necessarily who typed it in.)
Control1..*
TypeResource(Person|Agent)
RequirementsIdentifies who is responsible for the content.
RIM Mapping./participation[typeCode="AUT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]
XdsEntry2.information.attester
DefinitionA participant who has attested to the accuracy of the document
Control0..*
RequirementsIdentifies responsibility for the accuracy of the document content.
RIM Mapping./participation[typeCode="AUTHEN" and isNormalParticipation]
XdsEntry2.information.attester.mode
DefinitionThe type of attestation the authenticator offers
Control1..1
Typecode from DocumentAttestationMode
RequirementsIndicates the level of officialness of the attestation.
RIM Mappingunique(./modeCode)
XdsEntry2.information.attester.time
DefinitionWhen document was attested by the party
Control0..1
TypedateTime
RequirementsIdentifies when the information in the document was deemed accurate. (Things may have changed since then.)
RIM Mapping./time[type="TS" and isNormalDatatype()]
XdsEntry2.information.attester.party
DefinitionWho attested the document in the specified way
Control0..1
TypeResource(Person|Agent|Organization)
RequirementsIdentifies who has taken on the responsibility for accuracy of the document content.
RIM Mapping./role[classCode="ASSIGNED" and isNormalRole]/player[determinerCode="INST" and classCode=("DEV", "PSN") and isNormalEntity()] or ./role[classCode="ASSIGNED" and isNormalRole and not(player)]/scoper[determinerCode="INST" and classCode="ORG" and isNormalEntity()]
XdsEntry2.information.custodian
DefinitionIdentifies the organization or group who is responsible for ongoing maintenance of and access to the document.
Control0..1
TypeResource(Organization)
RequirementsIdentifies where to go to find the current version, where to report issues, etc.
RIM Mapping./participation[typeCode="RCV" and isNormalParticipation]/role[classCode="CUST" and isNormalRole and not (player)]/scoper[classCode="ORG" and determinerCode="INST" and isNormalEntity()]
XdsEntry2.information.event
DefinitionThe main event/act/item, such as a colonoscopy or an appendectomy, being documented
Control0..1
RequirementsProvides context for the document and creates a linkage between a resource describing an event and the document created describing the event.
CommentsThe event needs to be consistent with the type element, though can provide further information if desired
RIM Mappingunique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and isNormalAct])
XdsEntry2.information.event.code
DefinitionThis list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
Control0..*
TypeCodeableConcept
CommentsAn event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they shall not conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as “key words” for certain types of queries.
XdsEntry2.information.event.period
DefinitionThe period of time covered by the document. There is no assertion that the document is a complete representation for this period, only that it documents events during this time
Control0..1
TypePeriod
XdsEntry2.information.event.detail
DefinitionFull details for the event(s) the document concents
Control0..*
TypeResource(Any)
XdsEntry2.information.encounter
DefinitionDescribes the clinical encounter or type of care this document is associated with.
Control0..1
TypeResource(Admission|InterestOfCare)
RequirementsProvides context for the document and supports searching.
RIM Mappingunique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and classCode=("ENC", "PCPR") and isNormalAct])
XdsEntry2.information.facilityType
DefinitionThis code represents the type of organizational setting of the clinical encounter during which the documented act occurred
Control0..1
TypeCodeableConcept
CommentsIn some cases, the setting of the encounter is inherent in the typeCode, such as "Diabetes Clinic Progress Note". healthcareFacilityTypeCode shall be equivalent to or further specialize the value inherent in the typeCode; for example, where the typeCode is simply "Clinic Progress Note" and the value of healthcareFacilityTypeCode is "private clinic". The value shall not conflict with the value inherent in the typeCode, as such a conflict would create an ambiguous situation
XdsEntry2.information.practiceSetting
DefinitionThe code specifying the clinical specialty where the act that resulted in the document was performed (e.g., Family Practice, Laboratory, Radiology).
Control0..1
TypeCodeableConcept
CommentsIt is suggested that the XDS Affinity Domain draws these values from a coding scheme providing a coarse level of granularity (about 10 to 100 entries)
XdsEntry2.format
DefinitionCode globally uniquely specifying the format of the document. Along with the information.type, it should provide sufficient information to allow any potential Document Consumer to know if it will be able to process the document. The formatCode shall be sufficiently specific to ensure processing/display by identifying a document encoding, structure and template (e.g., for a CDA Document, the fact that it complies with a CDA schema, possibly a template and the choice of a content-specific style sheet).
Control1..1
TypeCoding
CommentsFormat codes may be specified by multiple organizations. Format codes defined by ITI shall have names with the prefix urn:ihe:iti:. Format codes defined by other IHE domains shall have names with the prefix urn:ihe:’domain initials’: Format codes defined by the Affinity Domain shall have names with the prefix urn:ad:’name of affinity domain’: Affinity Domains shall be unique. The prefixes described here are not assumed to be exhaustive.
XdsEntry2.availability
Definitiondeprecated documents can be included in some responses
Control1..1
Typecode from XdsEntryAvailability
CommentsThis attribute is always set to Approved as part of the submission of new XDS Documents. It may be changed to Deprecated under the primary responsibility of the Document Source with possible patient supervision. Although XDS supports the ability to delete documents, there is no such state as “the Document Entry is removed” (only an audit trail is kept if such a deletion is allowed).
XdsEntry2.folder
DefinitionFolders that this document is registered in
Control0..*
TypeResource(XdsFolder)
XdsEntry2.subject
DefinitionThe subject of care information that the document is about. This is different from the documentInformation.subject because that never changes from what the document says. This value may be updated if the subject details are updated (e.g. merged) and will then differ from the original document
Control0..1
TypeResource(Person|Patient|Group|Device)
CommentsThe system is the "Authority Domain Id" (enforced by the Registry), and the identifier is an Id in the above domain. This subject is intended to be updated after the Document is registered (where as the Document content and Document.information.subject itself will not be updated without changing the whole document).
XdsEntry2.content
DefinitionReference to the content, along with additional information such as size, hash, language etc
Control0..1
TypeAttachment
XdsEntry2.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mapping[varies]
XdsEntry2.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

5.31: Resource Formal Definitions: XdsFolder

The formal definitions for the XdsFolder (§3.20) resource.

XdsFolder
DefinitionAn organised collection of documents that belong to a patient. The documents are collected by their clinical function
Control1..1
XdsFolder.code
Definitioncontain the set of codes specifying the type of clinical activity that resulted in placing XDS Documents in this XDSFolder
Control1..*
TypeCoding
CommentsThese values shall be drawn from a vocabulary or coding scheme defined by the XDS Affinity Domain
XdsFolder.title
DefinitionRepresents the title of the Folder
Control0..1
Typestring
XdsFolder.patientId
Definitionthe subject of care medical record Identifier as defined by the Document Source.
Control1..1
TypeIdentifier
Comments All the documents in this folder must belong to the same patient. This identifier shall be from the Assigning Authority Domain supporting the XDS Affinity Domain in which the Document Registry operates
XdsFolder.homeCommunity
DefinitionA globally unique identifier for a community
Control0..1
Typestring
XdsFolder.comments
DefinitionComments associated with the Folder
Control0..1
Typestring
CommentsFree form text with an XDS Affinity Domain specified usage
To DoShould this be removed? This is effectively for an extension
XdsFolder.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mapping[varies]
XdsFolder.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative

This is an old version of FHIR retained for archive purposes. Do not use for anything else
Implementers are welcome to experiment with the content defined here, but should note that the contents are subject to change without prior notice.
© HL7.org 2011 - 2012. FHIR v0.06 generated on Tue, Dec 4, 2012 00:04+1100. License