Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

1.2 Patterns Index

FHIR Infrastructure icon Work GroupMaturity Level: N/AStandards Status: Informative

Types Framework Cross Reference: Base Types | Datatypes | Resources | Patterns

This specification defines 157 Resources as the primary means for exchange for data. In addition, this specification defines a number of patterns to assist implementers to better understand the relationships between the resources, and also to support the use of abstractions of the resources when implementing common tasks.

There are two different types of patterns:

  • Design Patterns: General patterns that resources may follow to some degree, depending on the requirements of the domain that they represent
  • Interface Patterns: Specific patterns that are intended to be used as operation abstractions for the resources that follow (=implement) them

Design Patterns

These patterns provide general guidelines around the design of the resources that follow them. The resources that follow these patterns indicate how they follow the pattern by mapping elements in the resource to the pattern. In general, resources may:

  • have a matching element, or not (or define an extension for the element)
  • split different possible values between different elements
  • use different types, or codes that have different values
  • have different cardinalities, based on domain analysis

The following Design Patterns are defined:

Interface Patterns

These patterns are intended to provide abstractions for the resources that follow them, for use by implementers. The resources that follow these patterns indicate how they follow the pattern by mapping elements in the resource to the pattern. These patterns are followed more closely, and resources may:

  • use a different name for the element
  • allow for a higher cardinality that the pattern
  • provide a concept map to map between values in the resource and the element values e.g. mapping a set of status codes to an active : boolean
  • use a different type with a defined conversion to the pattern type

The following Interface Patterns are defined:

Pattern Candidates

Patterns are a work in progress. This analysis helps identify candidate patterns:

Participation type Patterns

ResourcesPattern (or candidates)Locations
ActivityDefinition, BiologicallyDerivedProduct, DeviceDefinition, Ingredient, Location, ManufacturedItemDefinition, MedicinalProductDefinition, NutritionProduct, ObservationDefinition, Organization, PackagedProductDefinition, PlanDefinition, Practitioner, ResearchStudy, SubstanceDefinitionRegulatedAuthorization.subject
BiologicallyDerivedProduct, Device, Group, Location, Medication, NutritionProduct, Organization, Patient, Practitioner, Procedure, SubstanceDetectedIssue.subject
Observation.subject
BiologicallyDerivedProduct, Device, Group, Location, Medication, Organization, Patient, Practitioner, SubstanceDiagnosticReport.subject
BiologicallyDerivedProduct, Device, Group, Location, Patient, SubstanceSpecimen.subject
BiologicallyDerivedProduct, Device, Group, Medication, Patient, Specimen, SubstanceResearchSubject.subject
BiologicallyDerivedProduct, Group, NutritionProduct, Patient, SubstanceGenomicStudy.subject
MolecularSequence.subject
CareTeam, Device, DeviceDefinition, Endpoint, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant + [Endpoint, DeviceDefinition]ActivityDefinition.participant.typeReference
PlanDefinition.actor.option.typeReference
PlanDefinition.action.participant.typeReference
RequestOrchestration.action.participant.typeReference
CareTeam, Device, Endpoint, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant + [Endpoint]Communication.recipient
CareTeam, Device, Endpoint, Group, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant + [Endpoint] - [Location]CommunicationRequest.recipient
CareTeam, Device, Endpoint, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant + [Endpoint] - [Group, Location]Communication.sender
CareTeam, Device, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipantMeasureReport.subject
MeasureReport.group.subject
RequestOrchestration.subject
CareTeam, Device, Group, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, SpecimenParticipant + [Specimen]Group.member.entity
CareTeam, Device, Group, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [Organization]Appointment.participant.actor
CareTeam, Device, Group, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [Location]Requirements.statement.source
CareTeam, Device, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [HealthcareService, Location]Consent.provision.actor.reference
Permission.rule.activity.actor
CareTeam, Device, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [Group, Organization]Schedule.actor
CareTeam, Device, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [Group, Location]ChargeItem.performer.actor
ImagingSelection.performer.actor
ImagingStudy.series.performer.actor
Procedure.performer.actor
ServiceRequest.performer
Transport.owner
CareTeam, Device, Location, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, SubstanceParticipant + [Substance] - [Group, HealthcareService]Contract.term.action.performer
CareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [Group, HealthcareService, Location]AllergyIntolerance.participant.actor
AuditEvent.agent.who
AuditEvent.source.observer
Basic.author
CarePlan.custodian
CarePlan.contributor
Condition.participant.actor
DeviceDispense.performer.actor
DocumentReference.author
FamilyMemberHistory.participant.actor
List.source
MedicationDispense.performer.actor
NutritionIntake.performer.actor
Provenance.agent.who
SupplyRequest.requester
CareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, ResearchSubjectAdverseEvent.participant.actor
CareTeam, DeviceDefinition, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonMedicationRequest.performer
CareTeam, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, SpecimenProcedure.focus
CareTeam, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [Group, Device, Location]Consent.grantor
Consent.grantee
Permission.asserter
Subscription.managingEntity
CareTeam, Organization, Patient, Practitioner, PractitionerRoleProvenance.agent.onBehalfOf
CareTeam, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipantContactable + [CareTeam, PractitionerRole] - [Location]
ParticipantLiving + [Organization, CareTeam, PractitionerRole]
CareTeam.participant.member
Observation.performer
Task.owner
Task.performer.actor
CareTeam, Organization, Practitioner, PractitionerRoleDiagnosticReport.performer
DiagnosticReport.resultsInterpreter
CareTeam, Patient, Practitioner, PractitionerRole, RelatedPersonParticipantLiving + [CareTeam, PractitionerRole]Goal.source
Device, Endpoint, HealthcareService, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonCommunicationRequest.informationProvider
Device, Group, HealthcareService, Location, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [Organization, CareTeam]AppointmentResponse.actor
Device, Group, HealthcareService, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [Organization, CareTeam, Location]Encounter.participant.actor
Device, Group, Location, Medication, Organization, Patient, Practitioner, Procedure, Specimen, SubstanceImagingSelection.subject
Device, Group, Location, Organization, Patient, PractitionerParticipantContactable + [Group, Device] - [RelatedPerson]Procedure.subject
Device, Group, Location, PatientDeviceRequest.subject
ServiceRequest.subject
Device, Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipant - [CareTeam, HealthcareService, Location]Contract.term.offer.party.reference
Contract.term.action.subject.reference
Contract.term.action.requester
EvidenceReport.section.author
Device, Group, PatientImagingStudy.subject
Device, Group, Patient, Practitioner, RelatedPersonParticipantLiving + [Group, Device]DeviceAssociation.subject
Device, HealthcareService, Location, Organization, Patient, Practitioner, PractitionerRoleParticipant - [Group, CareTeam, RelatedPerson]Account.subject
Device, Organization, Patient, Practitioner, PractitionerRoleArtifactAssessment.content.author
Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipantContactable + [Device, PractitionerRole] - [Location]
ParticipantLiving + [Organization, Device, PractitionerRole]
Signature.who
Signature.onBehalfOf
ChargeItem.enterer
CommunicationRequest.requester
Composition.author
Composition.section.author
Flag.author
Invoice.participant.actor
MedicationRequest.requester
QuestionnaireResponse.author
QuestionnaireResponse.source
ServiceRequest.requester
Task.requester
Transport.requester
Device, Organization, Practitioner, PractitionerRoleDeviceRequest.requester
GenomicStudy.analysis.performer.actor
MessageHeader.sender
MessageHeader.author
Device, Patient, Practitioner, PractitionerRole, RelatedPersonParticipantLiving + [Device, PractitionerRole]DetectedIssue.author
RiskAssessment.performer
Device, Patient, Practitioner, RelatedPersonParticipantContactable + [Device] - [Organization, Location]
ParticipantLiving + [Device]
InventoryReport.reporter
Device, Practitioner, PractitionerRoleRequestOrchestration.author
Group, Location, Medication, Organization, Patient, PlanDefinition, Practitioner, PractitionerRole, Procedure, RelatedPersonFlag.subject
Group, Organization, PatientGoal.subject
Group, Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipantContactable + [Group, PractitionerRole] - [Location]
ParticipantLiving + [Group, Organization, PractitionerRole]
Task.restriction.recipient
Transport.restriction.recipient
Group, Organization, Practitioner, PractitionerRoleMeasureReport.reporter
Group, PatientParticipantLiving + [Group] - [Practitioner, RelatedPerson]Appointment.subject
CarePlan.subject
CareTeam.subject
ChargeItem.subject
ClinicalImpression.subject
Communication.subject
CommunicationRequest.subject
Condition.subject
Encounter.subject
EncounterHistory.subject
GuidanceResponse.subject
Invoice.subject
MedicationAdministration.subject
MedicationDispense.subject
MedicationRequest.subject
MedicationStatement.subject
NutritionIntake.subject
NutritionOrder.subject
RiskAssessment.subject
Group, Patient, PractitionerParticipantLiving + [Group] - [RelatedPerson]Consent.subject
Group, Patient, Practitioner, RelatedPerson, ResearchSubjectParticipantLiving + [Group, ResearchSubject]AdverseEvent.subject
HealthcareService, OrganizationSupplyRequest.supplier
HealthcareService, Organization, Patient, PractitionerParticipantContactable + [HealthcareService] - [RelatedPerson, Location]
ParticipantLiving + [Organization, HealthcareService] - [RelatedPerson]
Consent.manager
Consent.controller
Location, OrganizationParticipantContactable - [Practitioner, Patient, RelatedPerson]Claim.facility
CoverageEligibilityRequest.item.facility
Encounter.admission.origin
Encounter.admission.destination
ExplanationOfBenefit.facility
SupplyRequest.deliverFrom
Location, Organization, Patient, RelatedPersonParticipantContactable - [Practitioner]
ParticipantLiving + [Organization, Location] - [Practitioner]
SupplyRequest.deliverTo
Location, Organization, ResearchStudyResearchStudy.site
Location, Patient, Practitioner, PractitionerRole, RelatedPersonParticipantContactable + [PractitionerRole] - [Organization]
ParticipantLiving + [PractitionerRole, Location]
DeviceDispense.receiver
MedicationDispense.receiver
Organization, PatientParticipantContactable - [Practitioner, RelatedPerson, Location]
ParticipantLiving + [Organization] - [Practitioner, RelatedPerson]
BiologicallyDerivedProduct.collection.source
InventoryItem.instance.subject
Organization, Patient, Practitioner, PractitionerRoleParticipantContactable + [PractitionerRole] - [RelatedPerson, Location]
ParticipantLiving + [Organization, PractitionerRole] - [RelatedPerson]
Contract.author
Organization, Patient, Practitioner, PractitionerRole, RelatedPersonParticipantContactable + [PractitionerRole] - [Location]
ParticipantLiving + [Organization, PractitionerRole]
Annotation.author[x]
Claim.payee.party
Composition.attester.party
Contract.term.asset.valuedItem.responsible
Contract.term.asset.valuedItem.recipient
Contract.signer.party
DeviceUsage.informationSource
DocumentReference.attester.party
ExplanationOfBenefit.payee.party
Immunization.performer.actor
MedicationRequest.informationSource
MedicationStatement.informationSource
Organization, Patient, RelatedPersonParticipantContactable - [Practitioner, Location]
ParticipantLiving + [Organization] - [Practitioner]
Account.guarantor.party
Coverage.paymentBy.party
Coverage.policyHolder
Invoice.recipient
PaymentReconciliation.paymentIssuer
Organization, PractitionerParticipantContactable - [Patient, RelatedPerson, Location]
ParticipantLiving + [Organization] - [Patient, RelatedPerson]
Citation.citedArtifact.contributorship.entry.contributor
Organization, Practitioner, PractitionerRoleClaim.provider
Claim.careTeam.provider
ClaimResponse.requestor
ClaimResponse.addItem.provider
Consent.verification.verifiedBy
Contract.contentDefinition.publisher
CoverageEligibilityRequest.provider
CoverageEligibilityResponse.requestor
EnrollmentRequest.provider
EnrollmentResponse.requestProvider
ExplanationOfBenefit.provider
ExplanationOfBenefit.careTeam.provider
ExplanationOfBenefit.addItem.provider
Linkage.author
MedicationDispense.substitution.responsibleParty
MessageHeader.destination.receiver
MessageHeader.responsible
Patient.generalPractitioner
PaymentNotice.reporter
PaymentNotice.payee
PaymentReconciliation.enterer
PaymentReconciliation.requestor
PaymentReconciliation.allocation.submitter
PaymentReconciliation.allocation.payee
ResearchStudy.associatedParty.party
SupplyDelivery.supplier
SupplyDelivery.receiver
VerificationResult.primarySource.who
VerificationResult.attestation.who
VerificationResult.attestation.onBehalfOf
Organization, Practitioner, PractitionerRole, RelatedPersonParticipantContactable + [PractitionerRole] - [Patient, Location]
ParticipantLiving + [Organization, PractitionerRole] - [Patient]
Group.managingEntity
Organization, PractitionerRoleCitation.citedArtifact.contributorship.entry.affiliation
MedicinalProductDefinition.contact.contact
Patient, Person, Practitioner, RelatedPersonParticipantContactable + [Person] - [Organization, Location]
ParticipantLiving + [Person]
Person.link.target
Patient, PractitionerParticipantContactable - [Organization, RelatedPerson, Location]
ParticipantLiving - [RelatedPerson]
DeviceDispense.subject
Patient, Practitioner, PractitionerRole, RelatedPersonParticipantContactable + [PractitionerRole] - [Organization, Location]
ParticipantLiving + [PractitionerRole]
Claim.enterer
ExplanationOfBenefit.enterer
Procedure.recorder
Specimen.collection.collector
Patient, Practitioner, PractitionerRole, RelatedPerson, ResearchSubjectParticipantLiving + [PractitionerRole, ResearchSubject]AdverseEvent.recorder
AdverseEvent.suspectEntity.causality.author
Patient, Practitioner, RelatedPersonParticipantLivingDeviceAssociation.operation.operator
Patient, RelatedPersonParticipantContactable - [Practitioner, Organization, Location]
ParticipantLiving - [Practitioner]
Consent.verification.verifiedWith
Coverage.subscriber
Patient.link.other
Practitioner, PractitionerRoleParticipantLiving + [PractitionerRole] - [Patient, RelatedPerson]BiologicallyDerivedProduct.collection.collector
ClinicalImpression.performer
CoverageEligibilityRequest.enterer
CoverageEligibilityRequest.item.provider
CoverageEligibilityResponse.insurance.item.provider
DetectedIssue.mitigation.author
EpisodeOfCare.careManager
GenomicStudy.referrer
GenomicStudy.interpreter
ImagingStudy.referrer
MedicationRequest.recorder
NutritionOrder.orderer
VisionPrescription.prescriber

Other Patterns

ResourcesPattern (or candidates)Locations
Account, ChargeItem, Claim, Contract, Encounter, InvoicePaymentReconciliation.allocation.target
ActivityDefinition, BiologicallyDerivedProduct, Device, DeviceDefinition, Medication, MedicinalProductDefinition, NutritionProduct, PlanDefinition, SubstanceClinicalUseDefinition.subject
ActivityDefinition, Device, DeviceDefinition, HealthcareService, Medication, PlanDefinition, SubstanceChargeItemDefinition.instance
AdministrableProductDefinition, ManufacturedItemDefinition, MedicinalProductDefinitionIngredient.for
AllergyIntolerance, ConditionClinicalImpression.problem
AllergyIntolerance, Condition, Device, DeviceUsage, DocumentReference, FamilyMemberHistory, Immunization, MedicationAdministration, MedicationStatement, Observation, ProcedureAdverseEvent.contributingFactor.item[x]
AllergyIntolerance, Condition, DocumentReference, FamilyMemberHistory, Immunization, MedicationAdministration, MedicationStatement, Observation, Procedure, QuestionnaireResponseAdverseEvent.supportingInfo.item[x]
Appointment, AppointmentResponse, CarePlan, Claim, CommunicationRequest, Contract, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, Task, VisionPrescriptionRequest + [Contract] - [Transport]GuidanceResponse.result
Appointment, AppointmentResponse, CarePlan, Claim, CommunicationRequest, Contract, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, VisionPrescriptionRequest + [Contract] - [Task, Transport]DocumentReference.basedOn
Appointment, AppointmentResponse, CarePlan, ServiceRequest, TaskImagingSelection.basedOn
ImagingStudy.basedOn
Appointment, CommunicationRequest, DeviceRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, Task, VisionPrescriptionCarePlan.activity.plannedActivityReference
Appointment, Encounter, EpisodeOfCareDocumentReference.context
BiologicallyDerivedProduct, Device, DeviceDefinition, InventoryItem, Medication, MedicationKnowledge, NutritionProductInventoryItem.association.relatedItem
BiologicallyDerivedProduct, Device, Medication, NutritionProductInventoryItem.productReference
BiologicallyDerivedProduct, Medication, MedicinalProductDefinition, NutritionProduct, ObservationDefinition, SubstanceClinicalUseDefinition.interaction.interactant.item[x]
CarePlan, DeviceRequestDeviceDispense.basedOn
CarePlan, DeviceRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, ServiceRequestObservation.basedOn
CarePlan, DeviceRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, ServiceRequest, TaskAuditEvent.basedOn
Provenance.basedOn
CarePlan, DeviceRequest, MedicationRequest, ServiceRequestAppointment.basedOn
Encounter.basedOn
CarePlan, ImmunizationRecommendation, MedicationRequest, NutritionOrder, ServiceRequestDiagnosticReport.basedOn
CarePlan, ImmunizationRecommendation, MedicationRequest, ServiceRequestImmunization.basedOn
MedicationRequest.basedOn
CarePlan, MedicationRequest, ServiceRequestServiceRequest.basedOn
CarePlan, NutritionOrder, RequestOrchestration, ServiceRequestCarePlan.basedOn
CarePlan, NutritionOrder, ServiceRequestNutritionIntake.basedOn
NutritionOrder.basedOn
CarePlan, ServiceRequestProcedure.basedOn
QuestionnaireResponse.basedOn
Citation, DiagnosticReport, EvidenceReportResearchStudy.result
Citation, DiagnosticReport, Observation, ProcedureDiagnosticReport.supportingInfo.reference
Claim, DocumentReference, Observation, Procedure, QuestionnaireResponse, ServiceRequestDeviceUsage.derivedFrom
ClaimResponse, CoverageDeviceRequest.insurance
MedicationRequest.insurance
ServiceRequest.insurance
Task.insurance
Transport.insurance
ClinicalImpression, DiagnosticReport, ObservationCondition.stage.assessment
Composition, DiagnosticReport, DocumentReferenceProcedure.report
Condition, MedicationRequest, MedicationStatement, NutritionOrder, Observation, Procedure, RiskAssessment, ServiceRequestGoal.addresses
Condition, ObservationAdverseEvent.resultingEffect
MedicationStatement.relatedClinicalInformation
Consent, Contract, DocumentReference, QuestionnaireResponseConsent.sourceReference
Contract, SupplyDeliverySupplyDelivery.partOf
Device, DeviceDefinitionObservationDefinition.device
Device, DeviceMetricEvidenceVariable.characteristic.definitionByTypeAndValue.device
Observation.device
DeviceDefinition, ManufacturedItemDefinitionMedicinalProductDefinition.comprisedOf
DeviceRequest, MedicationRequest, NutritionOrder, ServiceRequest, SupplyRequest, VisionPrescriptionClaim.item.request
ClaimResponse.addItem.request
ExplanationOfBenefit.item.request
ExplanationOfBenefit.addItem.request
DeviceRequest, MedicationRequest, VisionPrescriptionClaim.prescription
Claim.originalPrescription
DocumentReference, GenomicStudy, ImagingSelection, ImagingStudy, MolecularSequence, Observation, QuestionnaireResponseObservation.derivedFrom
DocumentReference, ImagingStudyImagingSelection.derivedFrom
DocumentReference, Immunization, MedicationAdministration, MedicationRequest, ProcedureAdverseEvent.preventiveAction.item[x]
DocumentReference, MedicationAdministration, MedicationRequest, ProcedureAdverseEvent.mitigatingAction.item[x]
DocumentReference, ObservationGenomicStudy.analysis.regionsStudied
GenomicStudy.analysis.regionsCalled
Encounter, EpisodeOfCareContract.term.action.context
DeviceUsage.context
Evidence, EvidenceVariable, GroupEvidenceVariable.characteristic.definitionReference
EvidenceVariable, GroupEvidence.variableDefinition.observed
Evidence.variableDefinition.intended
Evidence.statistic.modelCharacteristic.variable.variableDefinition
ResearchStudy.recruitment.eligibility
GenomicStudy, ImagingStudyDiagnosticReport.study
GenomicStudy, ImagingStudy, Immunization, MedicationAdministration, MedicationDispense, MedicationStatement, ProcedureObservation.partOf
Group, SpecimenObservation.specimen
Immunization, ImmunizationEvaluationImmunizationRecommendation.recommendation.supportingImmunization
Ingredient, Medication, Substance, SubstanceDefinitionActivityDefinition.product[x]
MedicationAdministration, MedicationDispense, ProcedureMedicationAdministration.partOf
MedicationAdministration, Observation, ProcedureProcedure.partOf
MedicationAdministration, ProcedureMedicationDispense.partOf
MedicationRequest, VisionPrescriptionExplanationOfBenefit.prescription
MedicationStatement, ProcedureMedicationStatement.partOf
MolecularSequence, Observation, QuestionnaireResponseObservation.hasMember
NutritionIntake, Observation, ProcedureNutritionIntake.partOf
Observation, ProcedureQuestionnaireResponse.partOf
ObservationDefinition, QuestionnaireObservationDefinition.hasMember
Procedure, TaskGenomicStudy.analysis.protocolPerformed
ServiceRequest, TaskGenomicStudy.basedOn