Publish-box (todo)
Patient Administration Work Group | Maturity Level: 2 | Trial Use | Security Category: Patient | Compartments: Device, Patient, Practitioner |
A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc.
The Account resource acts as a central record against which charges, payments, and adjustments are applied. It contains information about which parties are responsible for payment of the account.
While the Account does conceptually have a balance, expressing that balance directly as a resource property is challenging due to the complexity of pricing contracts. An operation to retrieve the current balance of an account is in consideration as future work.
The Account itself does not include information about the charges, payments or adjustments, but rather those resources, such as ChargeItem point to the account to which they apply. Payment and adjustment resources have not yet been developed.
The Account resource can be considered a "bucket" to which ChargeItem resources are linked. These charges are processed by a billing system, which determines the responsible parties for the balance of the account. The billing system then submits claims or sends statements to the appropriate parties. Once payment is received, an adjustment is applied to the Account. The internal calculation of balances and allocation of responsibility is expected to be internal to the billing systems. Only the inputs and outputs of the billing process is communicated in the relevant financial FHIR resources.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Account | TU | DomainResource | Tracks balance, charges, for patient or cost center Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Account number |
status | ?!Σ | 1..1 | code | active | inactive | entered-in-error | on-hold | unknown Binding: Account Status (Required) |
billingStatus | Σ | 0..1 | CodeableConcept | Tracks the lifecycle of the account through the billing process Binding: Example Account Billing Statuses (Example) |
type | Σ | 0..1 | CodeableConcept | E.g. patient, expense, depreciation Binding: Account Types (Example) |
name | Σ | 0..1 | string | Human-readable label |
subject | Σ | 0..* | Reference(Patient | Device | Practitioner | PractitionerRole | Location | HealthcareService | Organization) | The entity that caused the expenses |
servicePeriod | Σ | 0..1 | Period | Transaction window |
covers | Σ | 0..* | Reference(Encounter | EpisodeOfCare) | Episodic account covering these encounters/episodes of care |
coverage | Σ | 0..* | BackboneElement | The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account |
coverage | Σ | 1..1 | Reference(Coverage) | The party(s), such as insurances, that may contribute to the payment of this account |
priority | Σ | 0..1 | positiveInt | The priority of the coverage in the context of this account |
owner | Σ | 0..1 | Reference(Organization) | Entity managing the Account |
description | Σ | 0..1 | markdown | Explanation of purpose/use |
guarantor | 0..* | BackboneElement | The parties ultimately responsible for balancing the Account | |
party | 1..1 | Reference(Patient | RelatedPerson | Organization) | Responsible entity | |
onHold | 0..1 | boolean | Credit or other hold applied | |
period | 0..1 | Period | Guarantee account during | |
diagnosis | ΣCTU | 0..* | BackboneElement | The list of diagnoses relevant to this account + Rule: The dateOfDiagnosis is not valid when using a reference to a diagnosis |
sequence | 0..1 | positiveInt | Ranking of the diagnosis (for each type) | |
condition | ΣC | 1..1 | CodeableReference(Condition) | The diagnosis relevant to the account Binding: Condition/Problem/Diagnosis Codes (Example) |
dateOfDiagnosis | C | 0..1 | dateTime | Date of the diagnosis (when coded diagnosis) |
type | 0..* | CodeableConcept | Type that this diagnosis has relevant to the account (e.g. admission, billing, discharge …) Binding: Encounter Diagnosis Use (Preferred) | |
onAdmission | 0..1 | boolean | Diagnosis present on Admission | |
packageCode | 0..* | CodeableConcept | Package Code specific for billing Binding: diagnosis-package-code (Example) | |
procedure | ΣCTU | 0..* | BackboneElement | The list of procedures relevant to this account + Rule: The dateOfService is not valid when using a reference to a procedure |
sequence | 0..1 | positiveInt | Ranking of the procedure (for each type) | |
code | ΣC | 1..1 | CodeableReference(Procedure) | The procedure relevant to the account Binding: Procedure Codes (SNOMED CT) (Example) |
dateOfService | C | 0..1 | dateTime | Date of the procedure (when coded procedure) |
type | 0..* | CodeableConcept | How this procedure value should be used in charging the account Binding: procedure-type (Example) | |
packageCode | 0..* | CodeableConcept | Package Code specific for billing Binding: procedure-package-code (Example) | |
device | Σ | 0..* | Reference(Device) | Any devices that were associated with the procedure |
relatedAccount | 0..* | BackboneElement | Other associated accounts related to this account | |
relationship | 0..1 | CodeableConcept | Relationship of the associated Account Binding: Account Relationship (Example) | |
account | 1..1 | Reference(Account) | Reference to an associated Account | |
currency | 0..1 | CodeableConcept | The base or default currency Binding: Currencies (Required) | |
balance | 0..* | BackboneElement | Calculated account balance(s) | |
aggregate | 0..1 | CodeableConcept | Who is expected to pay this part of the balance Binding: Account Aggregate (Extensible) | |
term | 0..1 | CodeableConcept | current | 30 | 60 | 90 | 120 Binding: Account Balance Term (Extensible) | |
estimate | 0..1 | boolean | Estimated balance | |
amount | 1..1 | Money | Calculated amount | |
calculatedAt | 0..1 | instant | Time the balance amount was calculated | |
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<Account xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Account number --></identifier> <status value="[code]"/><!-- 1..1 active | inactive | entered-in-error | on-hold | unknown --> <billingStatus><!-- 0..1 CodeableConcept Tracks the lifecycle of the account through the billing process --></billingStatus> <type><!-- 0..1 CodeableConcept E.g. patient, expense, depreciation --></type> <name value="[string]"/><!-- 0..1 Human-readable label --> <subject><!-- 0..* Reference(Device|HealthcareService|Location|Organization| Patient|Practitioner|PractitionerRole) The entity that caused the expenses --></subject> <servicePeriod><!-- 0..1 Period Transaction window --></servicePeriod> <covers><!-- 0..* Reference(Encounter|EpisodeOfCare) Episodic account covering these encounters/episodes of care --></covers> <coverage> <!-- 0..* The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account --> <coverage><!-- 1..1 Reference(Coverage) The party(s), such as insurances, that may contribute to the payment of this account --></coverage> <priority value="[positiveInt]"/><!-- 0..1 The priority of the coverage in the context of this account --> </coverage> <owner><!-- 0..1 Reference(Organization) Entity managing the Account --></owner> <description value="[markdown]"/><!-- 0..1 Explanation of purpose/use --> <guarantor> <!-- 0..* The parties ultimately responsible for balancing the Account --> <party><!-- 1..1 Reference(Organization|Patient|RelatedPerson) Responsible entity --></party> <onHold value="[boolean]"/><!-- 0..1 Credit or other hold applied --> <period><!-- 0..1 Period Guarantee account during --></period> </guarantor> <diagnosis> <!-- 0..* The list of diagnoses relevant to this account --> <sequence value="[positiveInt]"/><!-- 0..1 Ranking of the diagnosis (for each type) --> <condition><!-- I 1..1 CodeableReference(Condition) The diagnosis relevant to the account --></condition> <dateOfDiagnosis value="[dateTime]"/><!-- I 0..1 Date of the diagnosis (when coded diagnosis) --> <type><!-- 0..* CodeableConcept Type that this diagnosis has relevant to the account (e.g. admission, billing, discharge …) --></type> <onAdmission value="[boolean]"/><!-- 0..1 Diagnosis present on Admission --> <packageCode><!-- 0..* CodeableConcept Package Code specific for billing --></packageCode> </diagnosis> <procedure> <!-- 0..* The list of procedures relevant to this account --> <sequence value="[positiveInt]"/><!-- 0..1 Ranking of the procedure (for each type) --> <code><!-- I 1..1 CodeableReference(Procedure) The procedure relevant to the account --></code> <dateOfService value="[dateTime]"/><!-- I 0..1 Date of the procedure (when coded procedure) --> <type><!-- 0..* CodeableConcept How this procedure value should be used in charging the account --></type> <packageCode><!-- 0..* CodeableConcept Package Code specific for billing --></packageCode> <device><!-- 0..* Reference(Device) Any devices that were associated with the procedure --></device> </procedure> <relatedAccount> <!-- 0..* Other associated accounts related to this account --> <relationship><!-- 0..1 CodeableConcept Relationship of the associated Account --></relationship> <account><!-- 1..1 Reference(Account) Reference to an associated Account --></account> </relatedAccount> <currency><!-- 0..1 CodeableConcept The base or default currency --></currency> <balance> <!-- 0..* Calculated account balance(s) --> <aggregate><!-- 0..1 CodeableConcept Who is expected to pay this part of the balance --></aggregate> <term><!-- 0..1 CodeableConcept current | 30 | 60 | 90 | 120 --></term> <estimate value="[boolean]"/><!-- 0..1 Estimated balance --> <amount><!-- 1..1 Money Calculated amount --></amount> </balance> <calculatedAt value="[instant]"/><!-- 0..1 Time the balance amount was calculated --> </Account>
JSON Template
{ "resourceType" : "Account", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Account number "status" : "<code>", // R! active | inactive | entered-in-error | on-hold | unknown "billingStatus" : { CodeableConcept }, // Tracks the lifecycle of the account through the billing process "type" : { CodeableConcept }, // E.g. patient, expense, depreciation "name" : "<string>", // Human-readable label "subject" : [{ Reference(Device|HealthcareService|Location|Organization| Patient|Practitioner|PractitionerRole) }], // The entity that caused the expenses "servicePeriod" : { Period }, // Transaction window "covers" : [{ Reference(Encounter|EpisodeOfCare) }], // Episodic account covering these encounters/episodes of care "coverage" : [{ // The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account "coverage" : { Reference(Coverage) }, // R! The party(s), such as insurances, that may contribute to the payment of this account "priority" : "<positiveInt>" // The priority of the coverage in the context of this account }], "owner" : { Reference(Organization) }, // Entity managing the Account "description" : "<markdown>", // Explanation of purpose/use "guarantor" : [{ // The parties ultimately responsible for balancing the Account "party" : { Reference(Organization|Patient|RelatedPerson) }, // R! Responsible entity "onHold" : <boolean>, // Credit or other hold applied "period" : { Period } // Guarantee account during }], "diagnosis" : [{ // The list of diagnoses relevant to this account "sequence" : "<positiveInt>", // Ranking of the diagnosis (for each type) "condition" : { CodeableReference(Condition) }, // I R! The diagnosis relevant to the account "dateOfDiagnosis" : "<dateTime>", // I Date of the diagnosis (when coded diagnosis) "type" : [{ CodeableConcept }], // Type that this diagnosis has relevant to the account (e.g. admission, billing, discharge …) "onAdmission" : <boolean>, // Diagnosis present on Admission "packageCode" : [{ CodeableConcept }] // Package Code specific for billing }], "procedure" : [{ // The list of procedures relevant to this account "sequence" : "<positiveInt>", // Ranking of the procedure (for each type) "code" : { CodeableReference(Procedure) }, // I R! The procedure relevant to the account "dateOfService" : "<dateTime>", // I Date of the procedure (when coded procedure) "type" : [{ CodeableConcept }], // How this procedure value should be used in charging the account "packageCode" : [{ CodeableConcept }], // Package Code specific for billing "device" : [{ Reference(Device) }] // Any devices that were associated with the procedure }], "relatedAccount" : [{ // Other associated accounts related to this account "relationship" : { CodeableConcept }, // Relationship of the associated Account "account" : { Reference(Account) } // R! Reference to an associated Account }], "currency" : { CodeableConcept }, // The base or default currency "balance" : [{ // Calculated account balance(s) "aggregate" : { CodeableConcept }, // Who is expected to pay this part of the balance "term" : { CodeableConcept }, // current | 30 | 60 | 90 | 120 "estimate" : <boolean>, // Estimated balance "amount" : { Money } // R! Calculated amount }], "calculatedAt" : "<instant>" // Time the balance amount was calculated }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Account; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Account number fhir:status [ code ] ; # 1..1 active | inactive | entered-in-error | on-hold | unknown fhir:billingStatus [ CodeableConcept ] ; # 0..1 Tracks the lifecycle of the account through the billing process fhir:type [ CodeableConcept ] ; # 0..1 E.g. patient, expense, depreciation fhir:name [ string ] ; # 0..1 Human-readable label fhir:subject ( [ Reference(Device|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole) ] ... ) ; # 0..* The entity that caused the expenses fhir:servicePeriod [ Period ] ; # 0..1 Transaction window fhir:covers ( [ Reference(Encounter|EpisodeOfCare) ] ... ) ; # 0..* Episodic account covering these encounters/episodes of care fhir:coverage ( [ # 0..* The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account fhir:coverage [ Reference(Coverage) ] ; # 1..1 The party(s), such as insurances, that may contribute to the payment of this account fhir:priority [ positiveInt ] ; # 0..1 The priority of the coverage in the context of this account ] ... ) ; fhir:owner [ Reference(Organization) ] ; # 0..1 Entity managing the Account fhir:description [ markdown ] ; # 0..1 Explanation of purpose/use fhir:guarantor ( [ # 0..* The parties ultimately responsible for balancing the Account fhir:party [ Reference(Organization|Patient|RelatedPerson) ] ; # 1..1 Responsible entity fhir:onHold [ boolean ] ; # 0..1 Credit or other hold applied fhir:period [ Period ] ; # 0..1 Guarantee account during ] ... ) ; fhir:diagnosis ( [ # 0..* The list of diagnoses relevant to this account fhir:sequence [ positiveInt ] ; # 0..1 Ranking of the diagnosis (for each type) fhir:condition [ CodeableReference(Condition) ] ; # 1..1 I The diagnosis relevant to the account fhir:dateOfDiagnosis [ dateTime ] ; # 0..1 I Date of the diagnosis (when coded diagnosis) fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Type that this diagnosis has relevant to the account (e.g. admission, billing, discharge …) fhir:onAdmission [ boolean ] ; # 0..1 Diagnosis present on Admission fhir:packageCode ( [ CodeableConcept ] ... ) ; # 0..* Package Code specific for billing ] ... ) ; fhir:procedure ( [ # 0..* The list of procedures relevant to this account fhir:sequence [ positiveInt ] ; # 0..1 Ranking of the procedure (for each type) fhir:code [ CodeableReference(Procedure) ] ; # 1..1 I The procedure relevant to the account fhir:dateOfService [ dateTime ] ; # 0..1 I Date of the procedure (when coded procedure) fhir:type ( [ CodeableConcept ] ... ) ; # 0..* How this procedure value should be used in charging the account fhir:packageCode ( [ CodeableConcept ] ... ) ; # 0..* Package Code specific for billing fhir:device ( [ Reference(Device) ] ... ) ; # 0..* Any devices that were associated with the procedure ] ... ) ; fhir:relatedAccount ( [ # 0..* Other associated accounts related to this account fhir:relationship [ CodeableConcept ] ; # 0..1 Relationship of the associated Account fhir:account [ Reference(Account) ] ; # 1..1 Reference to an associated Account ] ... ) ; fhir:currency [ CodeableConcept ] ; # 0..1 The base or default currency fhir:balance ( [ # 0..* Calculated account balance(s) fhir:aggregate [ CodeableConcept ] ; # 0..1 Who is expected to pay this part of the balance fhir:term [ CodeableConcept ] ; # 0..1 current | 30 | 60 | 90 | 120 fhir:estimate [ boolean ] ; # 0..1 Estimated balance fhir:amount [ Money ] ; # 1..1 Calculated amount ] ... ) ; fhir:calculatedAt [ instant ] ; # 0..1 Time the balance amount was calculated ]
Changes from both R4 and R4B
Account | |
Account.billingStatus |
|
Account.covers |
|
Account.description |
|
Account.diagnosis |
|
Account.diagnosis.sequence |
|
Account.diagnosis.condition |
|
Account.diagnosis.dateOfDiagnosis |
|
Account.diagnosis.type |
|
Account.diagnosis.onAdmission |
|
Account.diagnosis.packageCode |
|
Account.procedure |
|
Account.procedure.sequence |
|
Account.procedure.code |
|
Account.procedure.dateOfService |
|
Account.procedure.type |
|
Account.procedure.packageCode |
|
Account.procedure.device |
|
Account.relatedAccount |
|
Account.relatedAccount.relationship |
|
Account.relatedAccount.account |
|
Account.currency |
|
Account.balance |
|
Account.balance.aggregate |
|
Account.balance.term |
|
Account.balance.estimate |
|
Account.balance.amount |
|
Account.calculatedAt |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Account | TU | DomainResource | Tracks balance, charges, for patient or cost center Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Account number |
status | ?!Σ | 1..1 | code | active | inactive | entered-in-error | on-hold | unknown Binding: Account Status (Required) |
billingStatus | Σ | 0..1 | CodeableConcept | Tracks the lifecycle of the account through the billing process Binding: Example Account Billing Statuses (Example) |
type | Σ | 0..1 | CodeableConcept | E.g. patient, expense, depreciation Binding: Account Types (Example) |
name | Σ | 0..1 | string | Human-readable label |
subject | Σ | 0..* | Reference(Patient | Device | Practitioner | PractitionerRole | Location | HealthcareService | Organization) | The entity that caused the expenses |
servicePeriod | Σ | 0..1 | Period | Transaction window |
covers | Σ | 0..* | Reference(Encounter | EpisodeOfCare) | Episodic account covering these encounters/episodes of care |
coverage | Σ | 0..* | BackboneElement | The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account |
coverage | Σ | 1..1 | Reference(Coverage) | The party(s), such as insurances, that may contribute to the payment of this account |
priority | Σ | 0..1 | positiveInt | The priority of the coverage in the context of this account |
owner | Σ | 0..1 | Reference(Organization) | Entity managing the Account |
description | Σ | 0..1 | markdown | Explanation of purpose/use |
guarantor | 0..* | BackboneElement | The parties ultimately responsible for balancing the Account | |
party | 1..1 | Reference(Patient | RelatedPerson | Organization) | Responsible entity | |
onHold | 0..1 | boolean | Credit or other hold applied | |
period | 0..1 | Period | Guarantee account during | |
diagnosis | ΣCTU | 0..* | BackboneElement | The list of diagnoses relevant to this account + Rule: The dateOfDiagnosis is not valid when using a reference to a diagnosis |
sequence | 0..1 | positiveInt | Ranking of the diagnosis (for each type) | |
condition | ΣC | 1..1 | CodeableReference(Condition) | The diagnosis relevant to the account Binding: Condition/Problem/Diagnosis Codes (Example) |
dateOfDiagnosis | C | 0..1 | dateTime | Date of the diagnosis (when coded diagnosis) |
type | 0..* | CodeableConcept | Type that this diagnosis has relevant to the account (e.g. admission, billing, discharge …) Binding: Encounter Diagnosis Use (Preferred) | |
onAdmission | 0..1 | boolean | Diagnosis present on Admission | |
packageCode | 0..* | CodeableConcept | Package Code specific for billing Binding: diagnosis-package-code (Example) | |
procedure | ΣCTU | 0..* | BackboneElement | The list of procedures relevant to this account + Rule: The dateOfService is not valid when using a reference to a procedure |
sequence | 0..1 | positiveInt | Ranking of the procedure (for each type) | |
code | ΣC | 1..1 | CodeableReference(Procedure) | The procedure relevant to the account Binding: Procedure Codes (SNOMED CT) (Example) |
dateOfService | C | 0..1 | dateTime | Date of the procedure (when coded procedure) |
type | 0..* | CodeableConcept | How this procedure value should be used in charging the account Binding: procedure-type (Example) | |
packageCode | 0..* | CodeableConcept | Package Code specific for billing Binding: procedure-package-code (Example) | |
device | Σ | 0..* | Reference(Device) | Any devices that were associated with the procedure |
relatedAccount | 0..* | BackboneElement | Other associated accounts related to this account | |
relationship | 0..1 | CodeableConcept | Relationship of the associated Account Binding: Account Relationship (Example) | |
account | 1..1 | Reference(Account) | Reference to an associated Account | |
currency | 0..1 | CodeableConcept | The base or default currency Binding: Currencies (Required) | |
balance | 0..* | BackboneElement | Calculated account balance(s) | |
aggregate | 0..1 | CodeableConcept | Who is expected to pay this part of the balance Binding: Account Aggregate (Extensible) | |
term | 0..1 | CodeableConcept | current | 30 | 60 | 90 | 120 Binding: Account Balance Term (Extensible) | |
estimate | 0..1 | boolean | Estimated balance | |
amount | 1..1 | Money | Calculated amount | |
calculatedAt | 0..1 | instant | Time the balance amount was calculated | |
Documentation for this format |
See the Extensions for this resource
XML Template
<Account xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Account number --></identifier> <status value="[code]"/><!-- 1..1 active | inactive | entered-in-error | on-hold | unknown --> <billingStatus><!-- 0..1 CodeableConcept Tracks the lifecycle of the account through the billing process --></billingStatus> <type><!-- 0..1 CodeableConcept E.g. patient, expense, depreciation --></type> <name value="[string]"/><!-- 0..1 Human-readable label --> <subject><!-- 0..* Reference(Device|HealthcareService|Location|Organization| Patient|Practitioner|PractitionerRole) The entity that caused the expenses --></subject> <servicePeriod><!-- 0..1 Period Transaction window --></servicePeriod> <covers><!-- 0..* Reference(Encounter|EpisodeOfCare) Episodic account covering these encounters/episodes of care --></covers> <coverage> <!-- 0..* The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account --> <coverage><!-- 1..1 Reference(Coverage) The party(s), such as insurances, that may contribute to the payment of this account --></coverage> <priority value="[positiveInt]"/><!-- 0..1 The priority of the coverage in the context of this account --> </coverage> <owner><!-- 0..1 Reference(Organization) Entity managing the Account --></owner> <description value="[markdown]"/><!-- 0..1 Explanation of purpose/use --> <guarantor> <!-- 0..* The parties ultimately responsible for balancing the Account --> <party><!-- 1..1 Reference(Organization|Patient|RelatedPerson) Responsible entity --></party> <onHold value="[boolean]"/><!-- 0..1 Credit or other hold applied --> <period><!-- 0..1 Period Guarantee account during --></period> </guarantor> <diagnosis> <!-- 0..* The list of diagnoses relevant to this account --> <sequence value="[positiveInt]"/><!-- 0..1 Ranking of the diagnosis (for each type) --> <condition><!-- I 1..1 CodeableReference(Condition) The diagnosis relevant to the account --></condition> <dateOfDiagnosis value="[dateTime]"/><!-- I 0..1 Date of the diagnosis (when coded diagnosis) --> <type><!-- 0..* CodeableConcept Type that this diagnosis has relevant to the account (e.g. admission, billing, discharge …) --></type> <onAdmission value="[boolean]"/><!-- 0..1 Diagnosis present on Admission --> <packageCode><!-- 0..* CodeableConcept Package Code specific for billing --></packageCode> </diagnosis> <procedure> <!-- 0..* The list of procedures relevant to this account --> <sequence value="[positiveInt]"/><!-- 0..1 Ranking of the procedure (for each type) --> <code><!-- I 1..1 CodeableReference(Procedure) The procedure relevant to the account --></code> <dateOfService value="[dateTime]"/><!-- I 0..1 Date of the procedure (when coded procedure) --> <type><!-- 0..* CodeableConcept How this procedure value should be used in charging the account --></type> <packageCode><!-- 0..* CodeableConcept Package Code specific for billing --></packageCode> <device><!-- 0..* Reference(Device) Any devices that were associated with the procedure --></device> </procedure> <relatedAccount> <!-- 0..* Other associated accounts related to this account --> <relationship><!-- 0..1 CodeableConcept Relationship of the associated Account --></relationship> <account><!-- 1..1 Reference(Account) Reference to an associated Account --></account> </relatedAccount> <currency><!-- 0..1 CodeableConcept The base or default currency --></currency> <balance> <!-- 0..* Calculated account balance(s) --> <aggregate><!-- 0..1 CodeableConcept Who is expected to pay this part of the balance --></aggregate> <term><!-- 0..1 CodeableConcept current | 30 | 60 | 90 | 120 --></term> <estimate value="[boolean]"/><!-- 0..1 Estimated balance --> <amount><!-- 1..1 Money Calculated amount --></amount> </balance> <calculatedAt value="[instant]"/><!-- 0..1 Time the balance amount was calculated --> </Account>
JSON Template
{ "resourceType" : "Account", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Account number "status" : "<code>", // R! active | inactive | entered-in-error | on-hold | unknown "billingStatus" : { CodeableConcept }, // Tracks the lifecycle of the account through the billing process "type" : { CodeableConcept }, // E.g. patient, expense, depreciation "name" : "<string>", // Human-readable label "subject" : [{ Reference(Device|HealthcareService|Location|Organization| Patient|Practitioner|PractitionerRole) }], // The entity that caused the expenses "servicePeriod" : { Period }, // Transaction window "covers" : [{ Reference(Encounter|EpisodeOfCare) }], // Episodic account covering these encounters/episodes of care "coverage" : [{ // The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account "coverage" : { Reference(Coverage) }, // R! The party(s), such as insurances, that may contribute to the payment of this account "priority" : "<positiveInt>" // The priority of the coverage in the context of this account }], "owner" : { Reference(Organization) }, // Entity managing the Account "description" : "<markdown>", // Explanation of purpose/use "guarantor" : [{ // The parties ultimately responsible for balancing the Account "party" : { Reference(Organization|Patient|RelatedPerson) }, // R! Responsible entity "onHold" : <boolean>, // Credit or other hold applied "period" : { Period } // Guarantee account during }], "diagnosis" : [{ // The list of diagnoses relevant to this account "sequence" : "<positiveInt>", // Ranking of the diagnosis (for each type) "condition" : { CodeableReference(Condition) }, // I R! The diagnosis relevant to the account "dateOfDiagnosis" : "<dateTime>", // I Date of the diagnosis (when coded diagnosis) "type" : [{ CodeableConcept }], // Type that this diagnosis has relevant to the account (e.g. admission, billing, discharge …) "onAdmission" : <boolean>, // Diagnosis present on Admission "packageCode" : [{ CodeableConcept }] // Package Code specific for billing }], "procedure" : [{ // The list of procedures relevant to this account "sequence" : "<positiveInt>", // Ranking of the procedure (for each type) "code" : { CodeableReference(Procedure) }, // I R! The procedure relevant to the account "dateOfService" : "<dateTime>", // I Date of the procedure (when coded procedure) "type" : [{ CodeableConcept }], // How this procedure value should be used in charging the account "packageCode" : [{ CodeableConcept }], // Package Code specific for billing "device" : [{ Reference(Device) }] // Any devices that were associated with the procedure }], "relatedAccount" : [{ // Other associated accounts related to this account "relationship" : { CodeableConcept }, // Relationship of the associated Account "account" : { Reference(Account) } // R! Reference to an associated Account }], "currency" : { CodeableConcept }, // The base or default currency "balance" : [{ // Calculated account balance(s) "aggregate" : { CodeableConcept }, // Who is expected to pay this part of the balance "term" : { CodeableConcept }, // current | 30 | 60 | 90 | 120 "estimate" : <boolean>, // Estimated balance "amount" : { Money } // R! Calculated amount }], "calculatedAt" : "<instant>" // Time the balance amount was calculated }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Account; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Account number fhir:status [ code ] ; # 1..1 active | inactive | entered-in-error | on-hold | unknown fhir:billingStatus [ CodeableConcept ] ; # 0..1 Tracks the lifecycle of the account through the billing process fhir:type [ CodeableConcept ] ; # 0..1 E.g. patient, expense, depreciation fhir:name [ string ] ; # 0..1 Human-readable label fhir:subject ( [ Reference(Device|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole) ] ... ) ; # 0..* The entity that caused the expenses fhir:servicePeriod [ Period ] ; # 0..1 Transaction window fhir:covers ( [ Reference(Encounter|EpisodeOfCare) ] ... ) ; # 0..* Episodic account covering these encounters/episodes of care fhir:coverage ( [ # 0..* The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account fhir:coverage [ Reference(Coverage) ] ; # 1..1 The party(s), such as insurances, that may contribute to the payment of this account fhir:priority [ positiveInt ] ; # 0..1 The priority of the coverage in the context of this account ] ... ) ; fhir:owner [ Reference(Organization) ] ; # 0..1 Entity managing the Account fhir:description [ markdown ] ; # 0..1 Explanation of purpose/use fhir:guarantor ( [ # 0..* The parties ultimately responsible for balancing the Account fhir:party [ Reference(Organization|Patient|RelatedPerson) ] ; # 1..1 Responsible entity fhir:onHold [ boolean ] ; # 0..1 Credit or other hold applied fhir:period [ Period ] ; # 0..1 Guarantee account during ] ... ) ; fhir:diagnosis ( [ # 0..* The list of diagnoses relevant to this account fhir:sequence [ positiveInt ] ; # 0..1 Ranking of the diagnosis (for each type) fhir:condition [ CodeableReference(Condition) ] ; # 1..1 I The diagnosis relevant to the account fhir:dateOfDiagnosis [ dateTime ] ; # 0..1 I Date of the diagnosis (when coded diagnosis) fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Type that this diagnosis has relevant to the account (e.g. admission, billing, discharge …) fhir:onAdmission [ boolean ] ; # 0..1 Diagnosis present on Admission fhir:packageCode ( [ CodeableConcept ] ... ) ; # 0..* Package Code specific for billing ] ... ) ; fhir:procedure ( [ # 0..* The list of procedures relevant to this account fhir:sequence [ positiveInt ] ; # 0..1 Ranking of the procedure (for each type) fhir:code [ CodeableReference(Procedure) ] ; # 1..1 I The procedure relevant to the account fhir:dateOfService [ dateTime ] ; # 0..1 I Date of the procedure (when coded procedure) fhir:type ( [ CodeableConcept ] ... ) ; # 0..* How this procedure value should be used in charging the account fhir:packageCode ( [ CodeableConcept ] ... ) ; # 0..* Package Code specific for billing fhir:device ( [ Reference(Device) ] ... ) ; # 0..* Any devices that were associated with the procedure ] ... ) ; fhir:relatedAccount ( [ # 0..* Other associated accounts related to this account fhir:relationship [ CodeableConcept ] ; # 0..1 Relationship of the associated Account fhir:account [ Reference(Account) ] ; # 1..1 Reference to an associated Account ] ... ) ; fhir:currency [ CodeableConcept ] ; # 0..1 The base or default currency fhir:balance ( [ # 0..* Calculated account balance(s) fhir:aggregate [ CodeableConcept ] ; # 0..1 Who is expected to pay this part of the balance fhir:term [ CodeableConcept ] ; # 0..1 current | 30 | 60 | 90 | 120 fhir:estimate [ boolean ] ; # 0..1 Estimated balance fhir:amount [ Money ] ; # 1..1 Calculated amount ] ... ) ; fhir:calculatedAt [ instant ] ; # 0..1 Time the balance amount was calculated ]
Changes from both R4 and R4B
Account | |
Account.billingStatus |
|
Account.covers |
|
Account.description |
|
Account.diagnosis |
|
Account.diagnosis.sequence |
|
Account.diagnosis.condition |
|
Account.diagnosis.dateOfDiagnosis |
|
Account.diagnosis.type |
|
Account.diagnosis.onAdmission |
|
Account.diagnosis.packageCode |
|
Account.procedure |
|
Account.procedure.sequence |
|
Account.procedure.code |
|
Account.procedure.dateOfService |
|
Account.procedure.type |
|
Account.procedure.packageCode |
|
Account.procedure.device |
|
Account.relatedAccount |
|
Account.relatedAccount.relationship |
|
Account.relatedAccount.account |
|
Account.currency |
|
Account.balance |
|
Account.balance.aggregate |
|
Account.balance.term |
|
Account.balance.estimate |
|
Account.balance.amount |
|
Account.calculatedAt |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
Path | ValueSet | Type | Documentation |
---|---|---|---|
Account.status | AccountStatus | Required | Indicates whether the account is available to be used. |
Account.billingStatus | AccountBillingStatus (a valid code from Example Account Billing Statuses) | Example | Indicates whether the account is available to be used for billing purposes. |
Account.type | AccountTypes | Example | This examples value set defines the set of codes that can be used to represent the type of an account. |
Account.diagnosis.condition | ConditionProblemDiagnosisCodes | Example | Example value set for Condition/Problem/Diagnosis codes. |
Account.diagnosis.type | EncounterDiagnosisUse | Preferred | What a specific Encounter/EpisodeOfCare |
Account.diagnosis.packageCode | Example | ||
Account.procedure.code | ProcedureCodesSNOMEDCT | Example | Procedure Code: All SNOMED CT procedure codes. |
Account.procedure.type | Example | ||
Account.procedure.packageCode | Example | ||
Account.relatedAccount.relationship | AccountRelationship | Example | Relationship between accounts |
Account.currency | Currencies (a valid code from urn:iso:std:iso:4217 ) |
Required | Currency codes from ISO 4217 (see https://www.iso.org/iso-4217-currency-codes.html) |
Account.balance.aggregate | AccountAggregate | Extensible | Indicates who is expected to pay a part of the account balance. |
Account.balance.term | AccountBalanceTerm | Extensible | Indicates the account balance's age. |
UniqueKey | Level | Location | Description | Expression |
act-1 | Rule | Account.diagnosis | The dateOfDiagnosis is not valid when using a reference to a diagnosis | condition.reference.empty().not() implies dateOfDiagnosis.empty() |
act-2 | Rule | Account.procedure | The dateOfService is not valid when using a reference to a procedure | code.reference.empty().not() implies dateOfService.empty() |
There may be two types of accounts that are used to track billing activities with medical systems:
Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
guarantor | reference | The parties ultimately responsible for balancing the Account | Account.guarantor.party (Organization, Patient, RelatedPerson) |
|
identifier | token | Account number | Account.identifier | 65 Resources |
name | string | Human-readable label | Account.name | |
owner | reference | Entity managing the Account | Account.owner (Organization) |
|
patient | reference | The entity that caused the expenses | Account.subject.where(resolve() is Patient) (Patient) |
65 Resources |
period | date | Transaction window | Account.servicePeriod | |
relatedaccount | reference | Parent and other related accounts | Account.relatedAccount.account (Account) |
|
status | token | active | inactive | entered-in-error | on-hold | unknown | Account.status | |
subject | reference | The entity that caused the expenses | Account.subject (Practitioner, Organization, Device, Patient, HealthcareService, PractitionerRole, Location) |
|
type | token | E.g. patient, expense, depreciation | Account.type | 11 Resources |