Profiles

This IG uses the Medication resource to represent the items within a formulary and the Composition resource to depict the structure of formularies for a health insurer.

TODO: These profiles are using http://example.org/fhir as their baseurl, which is not real. Find an authoritative location to store these profiles.

FormularyList

The FormularyList profile is based on Composition and allows for the insurer and formulary metadata to be properly conveyed in a single resource. Since insurers are expected to maintain several formularies at any given time, each section represents a single formulary and each section.entry is a medication within that formulary.

identifierΣ0..1Identifier
statusΣ ?!1..1codeBindingFixed Value
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
classΣ0..1CodeableConcept
subjectΣ I1..1Reference(Organization)
encounterΣ I0..1Reference(Encounter)
dateΣ1..1dateTime
authorΣ I1..*Reference(Organization)
titleΣ1..1string
confidentialityΣ ?!0..1codeBinding
modeΣ1..*codeBinding
timeΣ0..1dateTime
partyΣ I0..1Reference(Patient | Practitioner | Organization)
custodianΣ I0..1Reference(Organization)
codeΣ1..1codeBinding
targetIdentifierIdentifier
targetReferenceReference(Composition)
codeΣ0..*CodeableConcept
periodΣ I0..1Period
detailΣ I0..*Reference(Resource)
id1..1string
EffectiveFromI1..1Extension(dateTime)
EffectiveToI0..1Extension(dateTime)
PlanYearI1..1Extension(integer)
HealthPlanI1..1Extension(string)
title0..1string
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
textI0..1Narrative
modeΣ ?!0..1codeBinding
orderedBy0..1CodeableConceptBinding
entryI1..*FormularyMedication(FormularyMedication)
emptyReasonI0..1CodeableConceptBinding
sectionI0..*see (section)

FormularyMedication

The FormularyMedication profile is based on the Medication resource and does a few things:

  • Adds formulary metadata elements as extensions
  • Similar to US Core, it sets the code system as RxNorm
    • TODO: actually base this resource on US Core instead
  • It requires a text value to be associated with each medication
    • TODO: is this appropriate?

CoPayRequiredI1..1Extension(boolean)
CoInsuranceRequiredI1..1Extension(boolean)
PriorAuthRequiredI1..1Extension(boolean)
PriorAuthDescriptionI0..1Extension(string)
StepTherapyRequiredI1..1Extension(boolean)
StepTherapyDescriptionI0..1Extension(string)
QuantityLimitImposedI1..1Extension(boolean)
QuantityLimitDescriptionI0..1Extension(string)
AgeLimitImposedI1..1Extension(boolean)
AgeLimitDescriptionI0..1Extension(string)
LimitedAccessImposedI1..1Extension(boolean)
LimitedAccessDescriptionI0..1Extension(string)
InjectableI1..1Extension(boolean)
MailOrderI1..1Extension(boolean)
PartBOrPartDI1..1Extension(boolean)
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ1..1string
statusΣ0..1codeBinding
isBrandΣ0..1boolean
isOverTheCounterΣ0..1boolean
manufacturerΣ I0..1Reference(Organization)
form0..1CodeableConcept
itemCodeableConceptCodeableConcept
itemReferenceReference(Substance | Medication)
isActive0..1boolean
amountI0..1Ratio
container0..1CodeableConcept
itemCodeableConceptCodeableConcept
itemReferenceReference(Medication)
amountI0..1SimpleQuantity
lotNumber0..1string
expirationDate0..1dateTime
imageI0..*Attachment