HL7 The Data Standard for Biomedical Informatics

Download Report

Transcript HL7 The Data Standard for Biomedical Informatics

Motivations and Effects of
Different Guideline
Representations on the
Example of the HL7 RIM.
Computerized Guidelines and Protocols
EuroMISE 2004, Praha
Gunther Schadow,
Regenstrief Institute, Indiana
University School of Medicine,
Indianapolis, IN
Regenstrief Institute
• Health System Research and Medical
Informatics
• McDonald CM, Tierney W, Overhage JM, Dexter P
• Regenstrief Medical Record System
• 30 years of patient data, county and university
hospitals, outpatient centers
• Indiana Network of Patient Care covering 90% of
emergency and primary care visits in central
Indiana
• structured data, documents
• CARE reminders (per encounter forms)
• Gopher CPOE system, G-Care rules
• defaults, calculations, pick lists, fill in the blanks,
consequent orders, blocking orders, reminders.
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
2
What is HL7?
• ANSI accredited Standard Development
Organization (SDO) to provide standards for
• the exchange, management and integration of
• data that support
• clinical patient care and the
• management, delivery and evaluation of
healthcare services. Specifically, to
• create flexible, cost effective
• approaches, standards, guidelines,
methodologies, and related services for
• interoperability between healthcare
information systems.
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
3
What HL7 Specifications Exist?
• HL7 version 2 messaging standards for
• Patient administration,
• Results Reporting,
• Order Entry, …
• HL7 version 3 specifications for
•
•
•
•
•
•
all of the above, plus
Reference Information Model (RIM)
Data Type Specification
XML Data Representations
Clinical Document Architecture
Controlled Vocabulary
• Others (by acquisition)
• Arden Syntax Medical Logic Modules
• C-COW (clinical desktop integration)
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
4
What’s it got to do with CGP?
• We’ve been doing it all along
(since ~1990), i.e. prescriptions
• Amoxicillin 500 mg 3/d for 10 days.
• Azithromycin 500 mg now then 4
doses 250 mg 1/d 2h PC.
• Coumadine 5 mg p.o. Mon + Wed.
• Patient care plans
• “critical pathways”
• Clinical trial protocols
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
5
HL7 Reference Information Model
Place
Patient
mobileInd : BL
addr : AD
directionsText : ED
positionText : ED
gpsText : ST
confidentialityCode : CE
veryImportantPersonCode : CE
Organization
addr : BAG<AD>
standardIndustryClassCode : CE
ActRelationship
ManagedParticipation
typeCode : CS
id : SET<II>
inversionInd : BL
outboundRelationship
statusCode : SET<CS>
contextControlCode : CS
Access
LicensedEntity
0..n contextConductionInd : BL
approachSiteCode : CD
sequenceNumber : INT
recertificationTime : TS
Person
targetSiteCode : CD
1 source
priorityNumber : INT
gaugeQuantity : PQ
addr : BAG<AD>
pauseQuantity : PQ
Act
Participation
maritalStatusCode : CE
checkpointCode : CS
classCode
:
CS
educationLevelCode : CE
Entity
typeCode : CS
splitCode : CS
Role
moodCode
:
CS
raceCode : SET<CE>
classCode : CS
functionCode : CD
player
joinCode : CS
id
:
SET<II>
disabilityCode : SET<CE>
classCode : CS
contextControlCode : CS
...
determinerCode : CS
negationInd : BL
0..1
code : CD
0..n
livingArrangementCode : CE
id
:
SET<II>
sequenceNumber
:
INT
id : SET<II>
0..n
conjunctionCode : CS
1
negationInd
:
BL
religiousAffiliationCode : CE
code
:
CE
code : CE
playedRole
negationInd : BL
localVariableName : ST
1
derivationExpr
:
ST
ethnicGroupCode : SET<CE>
negationInd : BL
quantity : SET<PQ>
0..n noteText : ED
seperatableInd : BL
text
:
ED
addr : BAG<AD>
time : IVL<TS>
name : BAG<EN>
inboundRelationship 0..n
title
:
ST
telecom : BAG<TEL>
desc : ED
modeCode : CE
statusCode : SET<CS>
statusCode : SET<CS>
statusCode : SET<CS>
awarenessCode : CE
target
scopedRole
LivingSubject
effectiveTime : GTS
effectiveTime : IVL<TS>
signatureCode : CE
existenceTime : IVL<TS>...
0..n certificateText : ED
activityTime : GTS
1
administrativeGenderCode : CE
telecom : BAG<TEL>
signatureText : ED
0..1
availabilityTime : TS
birthTime : TS
quantity : RTO
source performInd : BL
riskCode : CE
ControlAct
deceasedInd : BL
scoper
positionNumber : LIST<INT>
... 1
substitutionConditionCode
... : CE priorityCode : SET<CE>
handlingCode : CE
confidentialityCode : SET<CE>...
deceasedTime : TS
1 target
repeatNumber : IVL<INT>
multipleBirthInd : BL
1
interruptibleInd : BL
multipleBirthOrderNumber : INT
WorkingList
levelCode : CE
organDonorInd : BL
Employee
outboundLink 0..n
FinancialContract
ownershipLevelCode : CE
independentInd : BL
0..n
jobCode : CE
RoleLink
paymentTermsCode : CE
uncertaintyCode : CE
jobTitleName : SC
Material
inboundLink typeCode : CS
reasonCode : SET<CE>
NonPersonLivingSubject
jobClassCode : CE
effectiveTime : IVL<TS>
...
formCode : CE
languageCode : CE
strainText : ED
salaryTypeCode : CE
salaryQuantity : MO
hazardExposureText : ED
protectiveEquipmentText : ED
genderStatusCode : CE
ManufacturedMaterial
lotNumberText : ST
expirationTime : IVL<TS>
stabilityTime : IVL<TS>
Device
0..n
LanguageCommunication
languageCode : CE
modeCode : CE
proficiencyLevelCode : CE
preferenceInd : BL
manufacturerModelName : SC
softwareName : SC
Container
localRemoteControlStateCode...: CE
capacityQuantity : PQ
alertLevelCode : CE
heightQuantity : PQ
lastCalibrationTime : TS
diameterQuantity : PQ
capTypeCode : CE
RIM 2.01
separatorTypeCode : CE
barrierDeltaQuantity : PQ
July 17,2003
bottomDeltaQuantity : PQ
8/10/2003
InvoiceElement
SubstanceAdministration
routeCode : CE
approachSiteCode : SET<CD>
doseQuantity : IVL<PQ>
rateQuantity : IVL<PQ>
doseCheckQuantity : SET<RTO>
maxDoseQuantity : SET<RTO>
Observation
value : ANY
interpretationCode : SET<CE>
methodCode : SET<CE>
targetSiteCode : SET<CD>
Procedure
methodCode : SET<CE>
approachSiteCode : SET<CD>
targetSiteCode : SET<CD>
DiagnosticImage
modifierCode : SET<CE>
unitQuantity : RTO<PQ,PQ>
unitPriceAmt : RTO<MO,PQ>
netAmt : MO
factorNumber : REAL
pointsNumber : REAL
Account
subjectOrientationCode : CE
PatientEncounter
PublicHealthCase
Supply
preAdmitTestInd : BL
admissionReferralSourceCode : CE
lengthOfStayQuantity : PQ
dischargeDispositionCode : CE
specialCourtesiesCode : SET<CE>
specialAccommodationCode : SET<CE>
acuityLevelCode : CE
detectionMethodCode : CE
transmissionModeCode : CE
diseaseImportedCode : CE
quantity : PQ
expectedUseTime : IVL<TS>
name : ST
balanceAmt : MO
currencyCode : CE
interestRateQuantity : RTO<MO,PQ>
allowedBalanceQuantity : IVL<MO>
FinancialTransaction
Diet
energyQuantity : PQ
carbohydrateQuantity : PQ
DeviceTask
parameterValue : LIST<ANY>
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
amt : MO
creditExchangeRateQuantity : REAL
debitExchangeRateQuantity : REAL
6
Reference Information Model (1997)
Stakeholder
Documents
Scheduling
Electronic
Medical Record
1..*
is_covered_by1..*
has_as_participant 0..*
Authentication
authentication_dttm
0..*
type_cd
is_related_to
created_by 1
0..1 is_a
0..1 of
0..1 is_role_of
Document_recipient 0..1
storage_status_cd
transcription_dttm
has_been_received_by 0..* type_cd
document_change_cd
is_transcribed_by0..*
0..*
of
0..1 is_role_of
contained_in 0..*
0..*
documents
Patient_information_disclosure
disclosure_dttm
info_disclosed_desc
info_requested_desc
reason_cd
requested_dttm
urgency_cd
1
Stakeholder
1
addr
1
credit_rating_cd
email_address_txt 11
phon
1
type_cd
1..1
takes_on_role_of 1
real_id : SET<RWII> 0..*
takes_on_role_of 1 id : SET<TII>
1
1
takes_on_role_of1
1
takes_on_role_of1
1
participates_as_primary_in1
0..* has_as_primary_participant
Real_world_instance_identifier
value_txt : ST
type_cd : CV
qualifier_txt : ST
valid_tmr : IVL<TS>
has_as_secondary_participant0..*
0..*
Stakeholder_affiliate
family_relationship_cd
0..1 is_role_of
0..1 is_role_of
provides_contact0..1
0..1 Employer 1..* is_represented_by
effective_tmr is_employer_of
1
issues 0..1
Organization
organization_name_type_cd
organization_nm
standard_industry_class_cd
1
0..* is_contact_for
Contact_person 0..1 is_contact_for
is_contact_for0..* contact_reason_cd 0..1 is_a_contact_for
0..* is_a_contact_for
takes_on_role_of0..1
0..1
1
1
1
pertains_to
0..*
is_provided_to 0..*
is_parent_document_for
0..*
has_as_a_parent_document
is_the_recipient_of1
0..*
Master_service_relationship
relationship_type_cd
reflex_testing_trigger_rules_desc
constraint_txt
qt
has_source 0..*
is_source1
0..* is_entered_by
requests 0..*
requests 0..*
Patient_information_recipient
enters 0..1
0..1
0..1 is_a_role_of
represents 0..*
Patient_appointment_request
Patient_service_location_request
is_delivered_during1
1
type_cd
requests 0..*
0..* requests
0..* requests
is_requested_by 0..1
Entering_person
Individual_healthcare_practitioner_group
id
is_a_role_of 0..1
refers_to_person_by
Person_name
is_used_by 0..* effective_dt
cd
nm
purpose_cd
termination_dt
type_cd
collects
takes_on_role_of
contains 0..1
Health_chart
0..1 is_role_of
Accident_information_source
0..* contains
enters
1
health_chart_id
is_the_source_of 0..1
health_chart_type_cd0..* is_housed_at
status_cd
0..* belongs_to
has_an_assessment_of1
Health_chart_deficiency
assessment_dttm
desc
0..* is_assessed_against
level_cd
type_cd
is_for 0..*
categorizes
takes_on_role_of
assigns
Resource_slot
offset_qty
quantity_amt
resource_type_cd
slot_state_cd
0..* is_managed_by
start_dttm
0..* is_reserved_by
Master_specimen_requirement
additive_cd
0..* requests
container_desc
container_preparation_desc
container_volume_qty
derived_specimen_cd
minimum_collection_volume_qty
normal_collection_volume_qty
special_handling_desc
priority_cd
retention_time_qty
type_cd
1 is_requested_by
belongs_to 1..* Durable_medical_equipment
id
slot_size_increment_qty
type_cd
is_requested_by 0..1
0..* contains
Durable_medical_equipment_group
is_scheduled_by11
id
manages 1
books 1..*
Patient_slot
takes_on_role_of
Individual_healthcare_practitioner_slot
Patient_service_location_slot
0..*
is_a_scheduleable_unit_for
0..*
is_scheduleable_unit_for
0..* is_scheduleable_unit_for
Durable_medical_equipment_slot
Master_numeric_range
Schedule
type_cd
condition_desc
age_qty
gestation_age_qty
value_qty
race_subspecies_txt
gender_cd
species_txt
id
is_scheduleable_unit_for 0..*
0..* is_a_subdivision_of
1 is_instantiated_as
Master_treatment_service
dea_level_cd
drug_category_cd
formulary_status_cd
medication_form_cd
pharmaceutical_class_cd
route_cd
therapeutic_class_cd
Master_observation_service
instrument_cd
permitted_data_type_cd
has_as_basis processing_time_qty
specimen_required_ind
0..* typical_turnaround_time_qty
derivation_rule_desc
1 measures
applies_to 0..*
is_issued_by 0..*
has 1 1 has
1
Person
acts_in_role_of
birth_dttm
birthplace_addr
1 takes_on_role_of
citizenship_country_cd
Administrative_patient_death
Notary_public
confidentiality_constraint_cd
death_certificate_id
deceased_dttm
effective_interval_tmr
death_certificate_recorded_dttm
deceased_ind
notary_county_cd
takes_on_role_of
1 disability_cd
death_classification_cd
notary_state_cd
death_dttm
education_level_cd
death_location_txt
ethnic_group_cd
Insured
0..1is_a_role_of
death_notification_source_nm
gender_cd
death_verification_cd
language_cd
1 takes_on_role_of
0..1 is_role_of
death_verification_dttm
marital_status_cd
death_verification_nm
military_branch_of_service_cd
0..1 pertains_to
military_rank_nm
1 takes_on_role_of
1 offers
takes_on_role_of1 military_status_cd
0..* has_as_employee
nationality_cd
Insurance_certification_contact
race_cd
participation_type_cd
is_issued_by 0..*
takes_on_role_of1
1 religious_affiliation_cd
Employee
Billing_information_item
0..1 is_role_of
student_cd
takes_on_role_of
is_employee_in1
1
Insurance_certification
0..1 is_role_of
is_contact_for
condition_cd
very_important_person_cd 1
1..*
appeal_reason_cd
occurrence_cd
0..* pertains_to
status_cd
certification_duration_qty
occurrence_dttm
effective_tmr
occurrence_span_cd
1 has_contact
id
1..*
enters 1
occurrence_span_from_dttm
0..* belongs_to
has 1
insurance_verification_dttm
Guarantor_contract
occurrence_span_thru_dttm
has_payment_guaranteed_by
provides_payment_guarantee_for
Patient_billing_account
modification_dttm
quantity_nbr
billing_hold_ind
non_concur_cd
quantity_type_cd
account_id
billing_media_cd
0..*
non_concur_effective_dttm
0..* affirms_insurance_coverage_for
has_coverage_affirmed_by
value_amt
adjustment_cd
1 charge_adjustment_cd
penalty_amt
Financial_transaction
authorization_information_txt
contract_duration_cd
value_cd
report_of_eligibility_dttm 0..*
contract_type_cd
billing_status_cd
0..*
alternate_desc
provides_validation_for
certification_required_ind
report_of_eligibility_ind
effective_tmr
0..* desc
is_entered_by
has_payment_guaranteed_by0..* current_unpaid_balance_qty
extended_amt
interest_rate_nbr
delete_dttm
includes 1
is_categorized_by fee_schedule_cd
periodic_payment_amt
insurance_amt
has 1 deleted_account_reason_cd
priority_ranking_cd
0..* provides_opinion_on
posting_dt
expected_insurance_plan_qty
0..* is_associated_with
expected_payment_source_cd
qty
Certification_second_opinion
notice_of_admission_dttm
transaction_batch_id
effective_dttm
0..* is_provided_by
transaction_cd
notice_of_admission_ind
status_cd
transaction_dttm
patient_financial_class_cd
Bad_debt_billing_account
price_schedule_id
is_associated_withtransaction_id
0..* pertains_to
bad_debt_recovery_amt
transaction_type_cd
purge_status_cd
0..*
bad_debt_transfer_amt
purge_status_dttm
unit_amt
transfer_to_bad_debt_dttm
1 is_validated_by
report_of_eligibility_dttm
unit_cost_amt
transfer_to_bad_debt_reason_cd
retention_ind
Coverage_item
signature_on_file_dttm
0..* is_for
service_category_cd
special_program_cd
0..* is_assigned_to
service_cd
stoploss_limit_ind
Bad_debt_collection_agency
provides_contact0..1
0..1
service_modifier_cd
11 is_assigned
suspend_charges_ind
is_a_role_of0
0..1
..1
0..*
0..1
is_role_of 0..1 Health_benefit_product_purchaser
authorization_ind
total_adjustment_qty
provides_coverage_for
has_as_a_prior_account
total_charge_qty
network_ind
Preferred_provider_participation
assertion_cd
1 is_the_purchaser_of
is_the_prior_account_fortotal_payment_qty
0..1 governs
is_governed_byrole_cd
covered_parties_cd
separate_bill_ind
has_as_care_recipient
effective_dt
0..1
qty
0..*termination_dt
0..*
quantity_qualifier_cd
0..1 has_charges_for
is_billed_from 0..1
time_period_qualifier_cd
range_low_qty
has_as_care_provider 0..*
range_high_qty
is_associated_with 0..1
range_units_cd
assertion_effective_tmr
Master_healthcare_benefit_product
has 0..* eligibility_cd
0..*assignment_of_benefits_ind
policy_source_cd
Collected_specimen_sample
is_collected_by 0..*
benefit_product_desc
eligibility_source_cd
body_site_cd
id
has_as_components
has_as_purchaser
copay_limit_ind
benefit_product_nm
collection_body_site_modifier_cd
non_covered_insurance_cd0..1
collection_tmr
benefit_product_type_cd
participates_in 1
collection_method_modifier_cd 0..* is_sourced from
benefits_coordination_cd
collection_scheduled_dttm
cob_priority_nbr
Healthcare_service_provider
0..*
collection_volume_qty
0..* is_sourced_from
combine_baby_bill_ind
is_a_component_of
board_certification_type_cd
effective_tmr
collectors_comment_cd
board_certified_ind
1 is_associated_with
is_offered_by 0..*
handling_cd
0..*group_benefit_ind
participates_as1 certification_dttm
id
mail_claim_party_cd
effective_tmr
collection_method_desc
0..1 is_target_of
release_information_cd
license_id
identifies
number_of_sample_containers_qty
status_cd
recertification_dttm
additive_desc
1
coverage_type_cd
0..* is_collected_during
specialty_cd
agreement_type_cd
danger_cd
is_child_of
policy_category_cd
source_cd
Person_employment
addr
0..*effective_dt
has_as_employerhazard_exposure_txt
job_class_cd
Guarantor
job_title_nm
provides_contact0..1
0..1
0..1 is_role_of
phon
financial_class_cd
protective_equipment_txt
household_annual_income_amt
household_size_nbr
salary_qty
1 guarantees_payment_under
salary_type_cd
0..1 provides_contact
status_cd
0..1 is_role_of
Insurer
termination_dt
1
occupation_cd
effective_tmr issues
job_status_cd
1 issues
0..* is_contact_for
transport_logistics_cd
action_cd
type_cd
0..1
0..1
is_parent_of
is_role_of Healthcare_provider_organization
Champus_coverage
handicapped_program_cd
non_avail_cert_on_file_ind
retirement_dttm
station_id
0..1
1..* provides_patient_services_at
Individual_healthcare_practitioner
desc
fellowship_field_cd
graduate_school_nm
graduation_dttm
position_cd
practitioner_type_cd
provides 1 primary_care_ind
residency_field_cd
slot_size_increment_qty
is_scheduled_by1
1
is_role_of
0..1
has 1
Master_qualitative_observation
1..*
1
0..1 pertains_to
Administrative_birth_event
baby_detained_ind
birth_certificate_id
0..* is_part_of
birth_method_cd
birth_recorded_county_cd
birth_recorded_dttm
newborn_days_nbr
stillborn_ind
0..1
authorizes 0..1
is_booked_in 0..*
Appointment
reserves
0..* appointment_disposition_cd
appointment_duration_tmr
appointment_timing_qt
is_entered_by 0..* cancellation_dttm
event_reason_cd
has_as_a_contact0
0..*
..* expected_end_dttm
expected_service_desc
expected_start_dttm
is_parent_of
id
0..1
0..1
overbook_ind
scheduling_begin_dttm
status_cd
0..*
schedules 0..* urgency_cd
visit_type_cd
is_child_of
wait_list_priority_amt
scheduling_completed_dttm
corresponding_SI_unit_of_measure_cd
unit_of_measure_cd
conforms_to 1 delta_check_change_computation_method_cd
delta_check_change_threshold_qty
delta_check_value_range_qty
delta_check_numeric_low_value_amt
delta_check_retention_period_qty
display_length_and_decimal_precision_cd
minimum_meaningful_increment_nbr
si_conversion_factor_expr
0..* has_as_participant
Active_participation
tmr
participation_type_cd
0..*
participates_in
1
participates_in
is_target_of
0..*
0..* is_reason_for
Service_reason
is_requested_by
0..1 is_target_of
has_a_primary_provider0..*
has_as_primary_facility0
0..*
..*
1
is_involved_in
1
has
Episode
is_authorized_by 1..*
1
has
Administrative_patient_accident
accident_death_ind
1..*
accident_desc
is_obtained_fromaccident_dttm
accident_location_desc
accident_state_cd
0..* accident_type_cd
is_identified byjob_related_accident_ind
assessment_dttm
Diagnostic_related_group
base_rate_amt
capital_reimbursement_amt
cost_weight_amt
id
major_diagnostic_category_cd
operating_reimbursement_amt
reimbursement_amt
1
standard_day_qty
standard_total_charge_amt
trim_high_day_qty
trim_low_day_qty
is_assigned_as
Patient_admission
admission_dttm
admission_reason_cd
admission_referral_cd
admission_source_cd
admission_type_cd
patient_valuables_desc
pre_admit_test_ind
readmission_ind
valuables_location_desc
1..* is_scheduled_by
desc
episode_type_cd
id
list_closed_ind
Patient_encounter
outcome_txt
administrative_outcome_txt
recurring_service_ind
cancellation_reason_cd
desc
involves 0..* encounter_classification_cd
end_dttm
Episode_of_care
Episode_of_condition
has 1..* expected_insurance_plan_qty
first_similar_illness_dttm
0..* is_present_in
follow_up_type_cd
1
links_condition 0..1
is_part_of
id
patient_classification_cd
1..* has_parts
purpose_cd
0..1has_assigned_to_it
record_signing_dttm
1 has
special_courtesies_cd
0..* +has_as_target
has_as_target 0..* Target_participation
tmr
is_target_of
has_as_target 0..*
has_as_target0..*
0..* participation_type_cd 1..*
0..*
has_as_evidence
0..*
0..*
is_reason_for
is_target_of 0..*
join_cd
status_dttm
secondary_identification_txt
is_target_for 1 reporting_priority_cd
is_entered_at0..*
0..*
has_as_target
Patient_departure
actual_discharge_disposition_cd
discharge_dttm
discharge_location_id
expected_discharge_disp_cd
terminates 0..1
start_dttm
1
status_cd
is_preceded_by
transport_requirement_cd 1 1
urgency_cd
has_as_participant
triage_classification_cd
0..* pertains_to
medical_service_cd
0..1
Risk_management_incident
confidentiality_constraint_cd
follows
incident_cd
incident_dttm
1
0..*
incident_severity_cd
has precedes
incident_type_cd
Treatment_intent_or_order
has_as_target 0..1
Dietary_intent_or_order
0..*
fulfills 0..*
indication_id
Service_event
0..1 is_evidence_for
diet_type_cd
ordering_providers_instruction_txt instruction_desc
0..1 attestation_dttm
requested_give_strength_qty
tray_type_cd
0..1 has_as_reason
tmr
substitution_allowed_ind
service_period_cd
charge_to_practice_qty
delivers 0..* charge_to_practice_cd is_source_for
patient_sensitivity_cd 1
is_assigned_to 0..* consent_cd
1
0..* has_as_source
has_parts
Service_event_relationship
service_desc
relationship_type_cd
filler_id
filler_order_status_dttm
scheduled_start_dttm
has_as_target 0..*
specimen_received_dttm1
has_as_active_participant
is_documented_by 0..* family_awareness_txt is_target_for
individual_awareness_cd
confidential_ind
status_cd
is_performed_at 0..*
Rule_link
is_charged_to 0..* billing_priority_nbr
status_reason_cd
is_associated_with1
1
priority_nbr
Conditional_link
Judgement_link
type_cd
preceded1
1
is_assigned_by 0..*
0..* is_an_assignment_of
Patient_arrival
acuity_level_cd
arrival_dttm
precedes0..1
medical_service_id
source_of_arrival_cd
mode_cd
is_terminated_by 1
Inpatient_encounter
is_preceded_by1
actual_days_qty
estimated_days_qty
is_assigned 1
Advance_directive
competence_ind
directive_cd
disclosure_level_cd
life_quality_desc
mortuary_preference_nm
notarization_dttm
assessment_dttm
employment_related_ind
pertains_to 1..*
is_primary_facility_forMaster_patient_service_location
0..1addr
open_tmr
desc
email_address
houses 1 id
licensed_bed_nbr
provides_services_on_behalf_of0
0..*
..*
nm
phon
service_specialty_cd
slot_size_increment_qty
is_included_in 0..*
status_cd
type_cd
equipment_type_cd
1 is_scheduled_by
1
has
1..* belongs_to
1
contains 0..*
Location_encounter_role
accommodation_cd
effective_tmr
0..* location_role_cd
pertains_to 0..* status_cd
transfer_reason_cd
usage_approved_ind
Patient_service_location_group
id
is_requested_by
0..1 expected_patient_location_for
0..1 is_target_for
1 is_entry_location_for
0..1 is_location_for
is_requested_by 0..1
Encounter_practitioner
1..*
1..*participation_type_cd
collects 0..1
Procedure
anesthesia_cd
anesthesia_tmr
delay_reason_txt
incision_open_tmr
priority_nbr
procedure_tmr
functional_type_cd
modifier_cd
Treatment_service_event
prescription_id
refills_remaining_nbr
PTrout
PTcomp
indication_id
substance_expiration_dttm
substance_lot_number_txt
substance_manufacturer_cd
dosage_form_cd
strength_qty
amount_qty
route_cd
body_site_cd
substitution_cd
Treatment_service_dispense
Treatment_service_give Treatment_service_administration
dispense_package_method_cd
give_per_timeunit_cd
administered_rate_qty
dispense_package_size_qty
qt
completion_status_cd
needs_human_review_ind
give_rate_qty
substance_refusal_reason_cd
suppliers_special_dispensing_instruction_cd
needs_human_review_ind system_entry_dttm
total_daily_dose_qty
administration_nbr
administered_per_timeunit_cd
administrators_notes_cd
is_the_primary_provider_for
Encounter
and Episode
Referral
Observation_intent_or_order
patient_hazard_cd
authorized_visits_qty
relevant_clinical_information_txt desc
reason_txt
specimen_action_cd
orders
0..*
Treatment_intent_or_order_revision
dispense_package_method_cd
dispense_package_size_qty
is_part_of give_indication_id
give_per_timeunit_cd
give_rate_qty
1..*
last_refilled_dttm
max_give_qty
min_give_qty
needs_human_review_ind
PTcomp
PTrout
qt
prescription_id
refills_allowed_nbr
refills_doses_dispensed_nbr
refills_remaining_nbr
substitution_status_cd
treatment_suppliers_instruction_cd
total_daily_dose_qty
Goal
Condition_node
Clinical_observation
abnormal_result_cd
expected_achievement_dttm life_cycle_start_dttm
last_observed_normal_values_dttm goal_list_priority_nbr
lifecycle_status_cd
management_discipline_cd management_discipline_cd
nature_of_abnormal_testing_cd
review_interval_cd
ranking_nbr
clinically_relevant_tmr
method_cd
goal_value_cd
employment_related_ind
status_cd
status_dttm
1 defines_episode
is_measured_by1..*
observation_sub_id
val
references_range_val
universal_service_identifier_suffix_txt
user_defined_access_check_cd
value_datatype_cd
confirmation_status_cd
is_associated_with0..* is_participant_for
is_requested_by
Location
Assessment
Care_event
Consent
Encounter_drg
approval_ind
assigned_dttm
confidential_ind
cost_outlier_amt
desc
0..* is_assigned_to
grouper_review_cd
grouper_version_id
outlier_days_nbr
outlier_reimbursement_amt
outlier_type_cd
participates_as
belongs_to
Provider
determination_dttm
documentation_dttm
reason_txt
is_an_instance_of 0..*
Service_intent_or_order
charge_type_cd
clarification_phon
entering_device_cd
escort_required_ind
expected_performance_time_qty
filler_order_id
has_as_participant 0..1status_cd
status_reason_cd
is_referred_to_in 0..1 order_effective_dttm
expects_patient_located_at 0..* order_id
order_placed_dttm
has_as_target 0..1 qt
is_fulfilled_by 0..1 placer_order_id
echo_back_txt
0..1 planned_patient_transport_cd
has_as_reason
is_source_for 1 report_results_to_phon
response_requested_cd
service_body_site_cd
has_as_source 0..*
service_body_site_modifier_cd
transport_arranged_ind
Service_intent_or_order_relationship
transport_arrangement_responsibility_cd
relationship_type_cd
0..* is_billed_to
transport_mode_cd
reflex_testing_trigger_rules_desc
when_to_charge_dttm
constraint_txt
when_to_charge_cd
qt
intent_or_order_cd
has_parts 1
pertains_to0..*
0..*
Disability
0..*effective_dttm
pertains_to return_to_work_auth_dttm
termination_dttm
unable_to_work_effective_dttm
abnormal_result_cd
critical_result_cd
normal_result_cd
preferred_coding_system_cd
valid_answer_cd
0..*
status_cd
is_source_for0
0..1
..1
includes 0..1
1
0..1
Payers and
Coverage
Living_subject
birth_dttm
birthplace_addr
origin_country_cd
taxonomic_classification_cd
is_source_for 0..1 breed_txt
strain_txt
eye_color_cd
is_schedu
coat_or_feather_coloring_txt
led_by
confidentiality_constraint_cd
1
deceased_dttm
has 1
deceased_ind
Patient
has 1
ambulatory_status_cd euthanasia_ind
has_as_a_contact 0..1 birth_order_nbr
gender_cd
gender_status_cd
has 1
living_arrangement_cd primary_name_type_cd
is_a_role_of 0..1 living_dependency_cd primary_nm
multiple_birth_ind
has 1
importance_status_txt
newborn_baby_ind
qty
participates_in1
1 organ_donor_ind
0..1
production_class_cd
preferred_pharmacy_id
Preauthorization
authorized_encounters_qty
authorized_period_begin_dt
authorized_period_end_dt
id
issued_dttm
requested_dttm
restriction_desc
status_cd
status_change_dttm
0..1 is_ordered_on
0..*
is_basis_for
Master_quantitative_observation
has_as_a_subdivision
access_protocol_desc
Master_service
allowable_processing_priority_cd
allowable_reporting_priority_cd
challenge_information_txt
confidentiality_cd
effective_tmr
factors_that_may_affect_observation_desc
fixed_canned_message_cd
imaging_measurement_modality_cd
incompatible_change_dttm
interpretation_considerations_desc
kind_of_quantity_observed_cd
last_update_dttm
method_cd
nature_of_service_cd
observation_id_suffix_txt
orderable_service_ind
patient_preparation_desc
point_versus_interval_cd
portable_device_ind
report_display_order_txt
alternate_id
alternate_name_use_cd
alternate_nm
contraindication_desc
desc
performance_schedule_cd
primary_nm
standard_time_to_perform_qty
target_anatomic_site_cd
universal_service_id
qt
join_cd
when_to_charge_cd
consent_required_cd
is_specified_for 0..*
has 1
0..1 is_a_role_of
is_contact_for 0..*
is_requested_by
Durable_medical_equipment_request
quantity_amt
type_cd
practitioner_type_cd
requests 0..*
has_target 0..*
Resource_request
allowable_substitutions_cd
duration_qty
start_dttm
start_offset_qty
status_cd
takes_on_role_of
takes_on_role_of
acts_as
takes_on_role_of
takes_role_of
participates_in
is_issued_by 0..*
participates_as_secondary_in1
is_requested_by1
is_target 1
0..* requests
0..* has_as_contact
Service_scheduling_request
Appointment_request
appointment_rqst_reason_cd
allowable_substitutions_cd
appointment_rqst_type_cd
duration_qty
1 requests
start_dttm
equip_selection_criteria_expr
is_requested_by0..* start_offset_qty
id
location_selection_criteria_expr
status_cd
priority_cd
repeating_interval_duration_tmr
1 requests
repeat_pattern_expr
rqst_event_reason_cd
rqsted_duration_tmr
start_tmr
time_selection_criteria_expr
Individual_healthcare_practitioner_request
explicit_time_interval_expr
0..1
0..1 transcribes
Transcriptionist
0..1 is_role_of
Stakeholder_affiliation
affiliation_type_cd
desc
effective_dt
termination_dt
is_produced_by1..1
1..1
0..* is_related_to
availability_status_cd
change_reason_cd
completion_status_cd
confidentiality_status_cd
content_presentation_cd
document_header_creation_dttm
file_nm
id
last_edit_dttm
has_been_originated_by0..* origination_dttm
reporting_priority_cd
results_report_dttm
is_source_of 0..*
Healthcare_document_authenticator
Originator
is_related_to 1
Clinical_document_header
0..* produces
Producer_of_master_service
service_producing_department_type_cd
1997 HL7 Information Model
In search of the order.
Gunther Schadow
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
8
A simple, flexible model?
In search of
the order.
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
9
Entity-Attribute-Value “Model”
Entity
id
attributeId
value
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
10
HL7 Reference Information Model
Place
Patient
mobileInd : BL
addr : AD
directionsText : ED
positionText : ED
gpsText : ST
confidentialityCode : CE
veryImportantPersonCode : CE
Organization
addr : BAG<AD>
standardIndustryClassCode : CE
ActRelationship
ManagedParticipation
typeCode : CS
id : SET<II>
inversionInd : BL
outboundRelationship
statusCode : SET<CS>
contextControlCode : CS
Access
LicensedEntity
0..n contextConductionInd : BL
approachSiteCode : CD
sequenceNumber : INT
recertificationTime : TS
Person
targetSiteCode : CD
1 source
priorityNumber : INT
gaugeQuantity : PQ
addr : BAG<AD>
pauseQuantity : PQ
Act
Participation
maritalStatusCode : CE
checkpointCode : CS
classCode
:
CS
educationLevelCode : CE
Entity
typeCode : CS
splitCode : CS
Role
moodCode
:
CS
raceCode : SET<CE>
classCode : CS
functionCode : CD
player
joinCode : CS
id
:
SET<II>
disabilityCode : SET<CE>
classCode : CS
contextControlCode : CS
...
determinerCode : CS
negationInd : BL
0..1
code : CD
0..n
livingArrangementCode : CE
id
:
SET<II>
sequenceNumber
:
INT
id : SET<II>
0..n
conjunctionCode : CS
1
negationInd
:
BL
religiousAffiliationCode : CE
code
:
CE
code : CE
playedRole
negationInd : BL
localVariableName : ST
1
derivationExpr
:
ST
ethnicGroupCode : SET<CE>
negationInd : BL
quantity : SET<PQ>
0..n noteText : ED
seperatableInd : BL
text
:
ED
addr : BAG<AD>
time : IVL<TS>
name : BAG<EN>
inboundRelationship 0..n
title
:
ST
telecom : BAG<TEL>
desc : ED
modeCode : CE
statusCode : SET<CS>
statusCode : SET<CS>
statusCode : SET<CS>
awarenessCode : CE
target
scopedRole
LivingSubject
effectiveTime : GTS
effectiveTime : IVL<TS>
signatureCode : CE
existenceTime : IVL<TS>...
0..n certificateText : ED
activityTime : GTS
1
administrativeGenderCode : CE
telecom : BAG<TEL>
signatureText : ED
0..1
availabilityTime : TS
birthTime : TS
quantity : RTO
source performInd : BL
riskCode : CE
ControlAct
deceasedInd : BL
scoper
positionNumber : LIST<INT>
... 1
substitutionConditionCode
... : CE priorityCode : SET<CE>
handlingCode : CE
confidentialityCode : SET<CE>...
deceasedTime : TS
1 target
repeatNumber : IVL<INT>
multipleBirthInd : BL
1
interruptibleInd : BL
multipleBirthOrderNumber : INT
WorkingList
levelCode : CE
organDonorInd : BL
Employee
outboundLink 0..n
FinancialContract
ownershipLevelCode : CE
independentInd : BL
0..n
jobCode : CE
RoleLink
paymentTermsCode : CE
uncertaintyCode : CE
jobTitleName : SC
Material
inboundLink typeCode : CS
reasonCode : SET<CE>
NonPersonLivingSubject
jobClassCode : CE
effectiveTime : IVL<TS>
...
formCode : CE
languageCode : CE
strainText : ED
salaryTypeCode : CE
salaryQuantity : MO
hazardExposureText : ED
protectiveEquipmentText : ED
genderStatusCode : CE
ManufacturedMaterial
lotNumberText : ST
expirationTime : IVL<TS>
stabilityTime : IVL<TS>
Device
0..n
LanguageCommunication
languageCode : CE
modeCode : CE
proficiencyLevelCode : CE
preferenceInd : BL
manufacturerModelName : SC
softwareName : SC
Container
localRemoteControlStateCode...: CE
capacityQuantity : PQ
alertLevelCode : CE
heightQuantity : PQ
lastCalibrationTime : TS
diameterQuantity : PQ
capTypeCode : CE
RIM 2.01
separatorTypeCode : CE
barrierDeltaQuantity : PQ
July 17,2003
bottomDeltaQuantity : PQ
8/10/2003
InvoiceElement
SubstanceAdministration
routeCode : CE
approachSiteCode : SET<CD>
doseQuantity : IVL<PQ>
rateQuantity : IVL<PQ>
doseCheckQuantity : SET<RTO>
maxDoseQuantity : SET<RTO>
Observation
value : ANY
interpretationCode : SET<CE>
methodCode : SET<CE>
targetSiteCode : SET<CD>
Procedure
methodCode : SET<CE>
approachSiteCode : SET<CD>
targetSiteCode : SET<CD>
DiagnosticImage
modifierCode : SET<CE>
unitQuantity : RTO<PQ,PQ>
unitPriceAmt : RTO<MO,PQ>
netAmt : MO
factorNumber : REAL
pointsNumber : REAL
Account
subjectOrientationCode : CE
PatientEncounter
PublicHealthCase
Supply
preAdmitTestInd : BL
admissionReferralSourceCode : CE
lengthOfStayQuantity : PQ
dischargeDispositionCode : CE
specialCourtesiesCode : SET<CE>
specialAccommodationCode : SET<CE>
acuityLevelCode : CE
detectionMethodCode : CE
transmissionModeCode : CE
diseaseImportedCode : CE
quantity : PQ
expectedUseTime : IVL<TS>
name : ST
balanceAmt : MO
currencyCode : CE
interestRateQuantity : RTO<MO,PQ>
allowedBalanceQuantity : IVL<MO>
FinancialTransaction
Diet
energyQuantity : PQ
carbohydrateQuantity : PQ
DeviceTask
parameterValue : LIST<ANY>
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
amt : MO
creditExchangeRateQuantity : REAL
debitExchangeRateQuantity : REAL
11
HL7 RIM Backbone (UML)
ActRelationship
Entity
classCode : CS
determinerCode : CS
id : SET<II>
code : CE
quantity : SET<PQ>
name : BAG<EN>
desc : ED
statusCode : SET<CS>
existenceTime : IVL<TS> ...
telecom : BAG<TEL>
riskCode : CE
handlingCode : CE
8/10/2003
player
0..1
0..n
playedRole
scopedRole
0..n
0..1
scoper
typeCode : CS
inversionInd : BL
outboundRelationship
contextControlCode : CS
0..n contextConductionInd : BL
sequenceNumber : INT
1 source
priorityNumber : INT
pauseQuantity : PQ
Act
Participation
checkpointCode : CS
classCode : CS
typeCode : CS
splitCode : CS
Role
moodCode : CS
functionCode : CD
joinCode : CS
id : SET<II>
classCode : CS
contextControlCode : CS...
negationInd : BL
code : CD
id : SET<II>
sequenceNumber : INT
0..n
conjunctionCode : CS
1
negationInd
:
BL
code : CE
negationInd : BL
localVariableName : ST
1 derivationExpr : ST
negationInd : BL
0..n noteText : ED
seperatableInd : BL
text
:
ED
addr : BAG<AD>
time : IVL<TS>
inboundRelationship 0..n
title : ST
telecom : BAG<TEL>
modeCode : CE
statusCode
:
SET<CS>
statusCode : SET<CS>
awarenessCode : CE
target
effectiveTime : GTS
effectiveTime : IVL<TS>
signatureCode : CE
activityTime : GTS
1
certificateText : ED
signatureText : ED
availabilityTime : TS
quantity : RTO
source performInd : BL
priorityCode : SET<CE>
positionNumber : LIST<INT>... 1
substitutionConditionCode
... : CE
confidentialityCode : SET<CE>
1 target
repeatNumber : IVL<INT>
interruptibleInd : BL
levelCode : CE
outboundLink 0..n
independentInd : BL
0..n
RoleLink
uncertaintyCode : CE
inboundLink typeCode : CS
reasonCode : SET<CE>
effectiveTime : IVL<TS>
...
languageCode : CE
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
12
HL7 RIM Backbone (Block-Diagram)
Entity
Act
classCode *: <= ACT
m oodCode *: <= EVN
0..* participant
id: SET<II> [0..*]
0..*participant
scopedRole / participation
code: CD CWE [0..1] <= ActCode
Role
type Code *: <= ParticipationType
negationInd: BL [0..1]
classCode *: <= ROL
functionCode: CD CWE [0..1] <= ParticipationFunction
derivationExpr: ST [0..1]
id: SET<II> [0..*]
contextControlCode: CS CNE [0..1] <= ContextControl
text: ED [0..1]
code: CE CWE [0..1] <= RoleCode
sequenceNumber: INT [0..1]
statusCode: SET<CS> CNE [0..*] <= ActStatus
negationInd: BL [0..1]
negationInd: BL [0..1]
effectiveTime: GTS [0..1]
addr: BAG<AD> [0..*]
noteText: ED [0..1]
activityTime: GTS [0..1]
telecom: BAG<TEL> [0..*]
time: IVL<TS> [0..1]
availabilityTime: TS [0..1]
statusCode: SET<CS> CNE [0..*] <= RoleStatus
modeCode: CE CWE [0..1] <= ParticipationMode
priorityCode: SET<CE> CWE [0..*] <= ActPriority
effectiveTime: IVL<TS> [0..1]
awarenessCode:
CE
CWE
[0..1]
<=
TargetAwareness
confidentialityCode: SET<CE> CWE [0..*] <= Confidentiality
certificateText: ED [0..1]
signatureCode:
CE
CNE
[0..1]
<=
ParticipationSignature
repeatNumber: IVL<INT> [0..1]
quantity: RTO<QTY,QTY> [0..1]
signatureText: ED [0..1]
interruptibleInd: BL [0..1]
positionNumber: LIST<INT> [0..*]
0..* playedRole
performInd: BL [0..1]
levelCode: CE CWE [0..1] <= ActContextLevel
0..* act independentInd: BL [0..1]
0..1 playingEntity
uncertaintyCode: CE CNE [0..1] <= ActUncertainty
Entity
reasonCode: SET<CE> CWE [0..*] <= ActReason
languageCode: CE CWE [0..1] <= HumanLanguage
classCode *: <= ENT
de te r m ine r Code *: <= INSTANCE
sourceOf /
id: SET<II> [0..*]
targetOf
code: CE CWE [0..1] <= EntityCode
type Code *: <= ActRelationshipType
quantity: SET<PQ> [0..*]
inversionInd: BL [0..1]
name: BAG<EN> [0..*]
contextControlCode: CS CNE [0..1] <= ContextControl
desc: ED [0..1]
contextConductionInd: BL [0..1]
statusCode: SET<CS> CNE [0..*] <= EntityStatus
sequenceNumber: INT [0..1]
existenceTime: IVL<TS> [0..1]
priorityNumber: INT [0..1]
telecom: BAG<TEL> [0..*]
pauseQuantity: PQ [0..1]
riskCode: CE CWE [0..1] <= EntityRisk
checkpointCode: CS CNE [0..1] <= ActRelationshipCheckpoint
handlingCode: CE CWE [0..1] <= EntityHandling
splitCode: CS CNE [0..1] <= ActRelationshipSplit
joinCode: CS CNE [0..1] <= ActRelationshipJoin
negationInd: BL [0..1]
conjunctionCode: CS CNE [0..1] <= RelationshipConjunction
localVariableName: ST [0..1]
seperatableInd: BL [0..1]
0..1 scopingEntity
0..* source
0..* target
Act
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
13
HL7 Data in XML
<act classCode=“ACT” moodCode=“…”>
<id root=“1.3.6.1.4.1.12009.3” extension=“A1234”/>
<code code=“...” codeSystem=“2.16.840.1.113883.6.1”/>
<participant typeCode=“…”>
<participant classCode=“ROL”>
<id root=“1.3.6.1.4.1.12009.4” extension=“1234567-8”/>
<code code=“…” codeSystem=“2.16.840.1.113883.6.21”/>
<playingEntity classCode=“ENT”>
<name>...</name>
</playingEntity>
<scopingEntity classCode=“ENT”>
<name>...</name>
</scopingEntity>
</participant>
</participant>
<sourceOf typeCode=“REL”>
<target classCode=“ACT”>
<id root=“1.3.6.1.4.1.12009.3” extension=“A1235”/>
</target>
</sourceOf>
</act>
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
14
Act
classCode *: <= ACT
m oodCode *: <= ActMood
id*: II [1..1]
code: CD CWE [0..1] <= ActCode
text: ED [0..1]
statusCode*: CS CNE [1..1] <= ActStatus
component
0..* act
componentOf
type Code *: <= C OMP
type Code *: <= C OMP
sequenceNumber: INT [0..1]
sequenceNumber: INT [0..1]
pauseQuantity: PQ [0..1]
pauseQuantity: PQ [0..1]
checkpointCode: CS CNE [0..1] <= ActRelationshipCheckpoint checkpointCode: CS CNE [0..1] <= ActRelationshipCheckpoint
splitCode: CS CNE [0..1] <= ActRelationshipSplit
splitCode: CS CNE [0..1] <= ActRelationshipSplit
joinCode: CS CNE [0..1] <= ActRelationshipJoin
joinCode:
CS CNE [0..1] <= ActRelationshipJoin
0..* choice
Choice
0..* justifyingObservation
SubstanceAdministration
reason
Observation
classCode *: <= OBS
m oodCode *: <= ActMood
code*: CD CWE [1..1] <= Ob servationType
negationInd: BL [0..1]
text: ED [0..1]
effectiveTime: GTS [0..1]
value: ANY [0..1]
interpretationCode: SET<CE> CWE [0..1]
<= Ob servationInterpretation
0..* observation
type Code *: <= RSON
classCode *: <= SBADM
m oodCode *: <= ActMood
id*: II [1..1]
derivationExpr: ST [0..1]
text: ED [0..1]
statusCode*: CS CNE [1..1] <= ActStatus
effectiveTime*: GTS [0..1]
repeatNumber*: IVL<INT> [0..1] "1"
independentInd: BL [0..1]
routeCode: CE CWE [0..1] <= RouteOfAdministration
approachSiteCode: CE CWE [0..1] <= ActSite
doseQuantity*: PQ [1..1]
rateQuantity*: PQ [1..1]
maxDoseQuantity: SET<RTO<QTY,QTY>> [0..*]
contraindication
0..* observation
type Code *: <= CIND
precondition
type Code *: <= PRCN
0..* goalObservation
maintenanceGoal
0..*
goalObservation
type
Code *: <= OBJC
finalGoal
0..* riskObservation
type Code *: <= OBJF
risk
type Code *: <= RISK
0..* inputObservation
derivedFrom
type Code *: <= DRIV
localVariableName: ST [0..1]
Refined
Information
Model
0..* patientCMET: (PAT)
R_Patient
[universal ]
type Code *: <= SBJ
(COCT_MT050000)
subject
CMET: (ASSIGNED)
R_AssignedPerson
1..1 assignedEntity
[universal ]
performer
(COCT_MT090100)
type Code *: <= PRF
1..1 assignedEntity
author
type Code *: <= AUT
consumable
type Code *: <= CSM
riskOf
type Code *: <= RISK 1..* riskySubstanceAdministration
SubstanceAdministration
0..1 container
1..1 participant *
Dosage Unit Choice
Ingredient
classCode *: <= C ON T
quantity: RTO<QTY,QTY> [0..1]
positionNumber: LIST<INT> [0..*]
classCode *: <= INGR
negationInd: BL [0..1]
quantity*: RTO<PQ,PQ> [1..1]
0..1 containedManufacturedMaterial
0..1 ingredientOfManufacturedMaterial
ManufacturedMaterial
Container
classCode *: <= MMAT
de te r m ine r Code *: <= EntityDeterminer
code*: CE CWE [0..1] <= EntityCode
quantity*: SET<PQ> [1..1]
desc: ED [0..1]
formCode: CE CWE [0..1] <= MaterialForm
lotNumberText: ST [0..1]
1..1 manufacturedManufacturedMaterial
expirationTime: IVL<TS> [0..1]
stabilityTime: IVL<TS> [0..1]
ManufacturedProduct
classCode *: <= C ON T
de te r m ine r Code *: <= EntityDeterminer
code*: CE CWE [0..1] <= EntityCode
handlingCode:
CE CWE [0..1] <= EntityHandling
1..1
containerContainer
capacityQuantity: PQ [0..1]
capTypeCode: CE CWE [0..1] <= MedicationCap
Organization
1..1 ingredient
ChemicalSubstance
classCode *: <= CHEM
de te r m ine r Code *: <= EntityDeterminer
code*: CE CWE [0..1] <= EntityCode
quantity: SET<PQ> [0..*]
desc: ED [0..1]
classCode *: <= MANU
classCode *: <= OR G
de te r m ine r Code *: <= INSTANCE
0..1 manufacturerOrganization
name*: ON [1..1]
8/10/2003
0..* ingredient
Content
Specialization
classCode *: <= GEN
0..* playedSpecialization
DrugCategory
classCode *: <= ENT
de te r m ine r Code *: <= KIND
Copyright (c) 1999-2003
Regenstrief
Institute for
1..1 generalizedDrugCategory
* code *: CE
CWE [1..1] <= EntityCode
Health Care
15
Guideline Document vs. Logic
• Most practice guidelines are narrative
• and most are not computer actionable
• Guideline document systems
• initially used for retrieval, library
• Increasingly internal logic recovered
• Shiffman: GEM, GEM cutter
• Růžička&Svátek: Stepper mark-up
• Shahar: DeGeL ‫דגל‬
• Similarity to EHR views as document vs.
structured data.
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
16
Ontology (Heller&Herre)
Urelement
Individual
Endurant
Abstract
Universal
Ocurrent
Physical
Structure
Concept
Event
Process
Type
Space/Time
Entity
Chronoid
Topoid
Configuration
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
17
Desiderata for CGP Ontologies
• Problem: it is difficult to compare guideline
conceptualizations if everything about is different.
• Entropy: “different consensus groups come up with
different consensus”
• Diversity is life and life is good … but, please:
•
•
•
•
Clarify the purpose of the chosen ontology structure
Recognize that there are other ways to set it up
Clarify the relation to other guideline ontologies
Justify (=speak to) your differences
• Need to map and relate to each others concepts!
• Rather than just always restating our private axioms …
• … or creating new ones isolated by themselves
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
18
Ontology (Heller&Herre)
HL7 RIM
Urelement
Individual
Endurant
Abstract
Universal
Ocurrent
Physical
Structure
Concept
Event
Process
Type
Space/Time
Entity
Chronoid
Topoid
Configuration
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
19
HL7 RIM
Endurant
Continuant
Entity
classCode : CS
determinerCode : CS
id : SET<II>
code : CE
quantity : SET<PQ>
name : BAG<EN>
desc : ED
statusCode : SET<CS>
existenceTime : IVL<TS> ...
telecom : BAG<TEL>
riskCode : CE
handlingCode : CE
8/10/2003
player
0..1
0..n
playedRole
scopedRole
0..n
0..1
scoper
Occurrant
Event
ActRelationship
typeCode : CS
inversionInd : BL
outboundRelationship
contextControlCode : CS
0..n contextConductionInd : BL
sequenceNumber : INT
1 source
priorityNumber : INT
pauseQuantity : PQ
Act
Participation
checkpointCode : CS
classCode : CS
typeCode : CS
splitCode : CS
Role
moodCode : CS
functionCode : CD
joinCode : CS
id : SET<II>
classCode : CS
contextControlCode : CS...
negationInd : BL
code : CD
id : SET<II>
sequenceNumber : INT
0..n
conjunctionCode : CS
1
negationInd
:
BL
code : CE
negationInd : BL
localVariableName : ST
1 derivationExpr : ST
negationInd : BL
0..n noteText : ED
seperatableInd : BL
text
:
ED
addr : BAG<AD>
time : IVL<TS>
inboundRelationship 0..n
title : ST
telecom : BAG<TEL>
modeCode : CE
statusCode
:
SET<CS>
statusCode : SET<CS>
awarenessCode : CE
target
effectiveTime : GTS
effectiveTime : IVL<TS>
signatureCode : CE
activityTime : GTS
1
certificateText : ED
signatureText : ED
availabilityTime : TS
quantity : RTO
source performInd : BL
priorityCode : SET<CE>
positionNumber : LIST<INT>... 1
substitutionConditionCode
... : CE
confidentialityCode : SET<CE>
1 target
repeatNumber : IVL<INT>
interruptibleInd : BL
levelCode : CE
outboundLink 0..n
independentInd : BL
0..n
RoleLink
uncertaintyCode : CE
inboundLink typeCode : CS
reasonCode : SET<CE>
effectiveTime : IVL<TS>
...
languageCode : CE
Chronoid
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
20
In the mood?
• Mood (2) etymology: alteration of
mode. (lat: modus verbi)
• “Distinction of form […] of a verb
• to express whether the action […] it
denotes is conceived
EVENT
• as fact, or in some other manner (
REQUEST
• as command,
• possibility,
• or wish)
8/10/2003
DEFINITION
GOAL!
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
21
Speaking of which …
• The RIM as a Language
• Verbal Phrase: Act
• Tense and other moods: moodCode
• Nominal Phrase: Entity in Role
• determiner: determinerCode
• casus, preposition, particle: Participation.type
• Act Event = Statement (Rector & Nolan)
• Langue et Parole (Language and Speech)
• Speech Acts
• how to do things with words? (Austin)
• Pragmatics! (in every sense of the word)
• Vizenor&Smith: The Ontological Nexus between
Speech Acts and Medical Records (right next
door)
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
22
Guidelines + EMR Integration
• Correndo, Terenziani: Integration of Guidelines with
Medical Ontologies and Medical Information Systems
• HL7: YEAH! AMEN!
• Mapping, see also Tu (SAGE), Peleg (GLIF): VMR
(loosely) based on (i.e. mapped to) the HL7 RIM.
• effect: use same vocabulary for clinical observations,
actions, etc.
• Sure, but … Electronic Medical Record Data has the
same form as Guidelines!
• Guidelines should have a recognizable relationship with
care plans, order sets
• Orders should have a recognizable relationship to EMR
data
• The HL7 RIM is one uniform model for both individua
and universalia
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
23
Guidelines as Action Plans
• Terenziani&Correndo: GLARE “limited
set of clear representative primitives”
• Actions: Work, Query, Decision,
Conclusion -- What we like:
• Actions composite or primitive – defined
based on the presence of components
(has-part relations to other acts)
• supporting top-down refinement
• encompasses sequence, alternative, etc.
• Miksch: Asbru “skeletal plan”
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
24
Action Group (“Battery”)
Observation
code: E’lytes-Battery
8/10/2003
hascomponent
Observation
code: Sodium
hascomponent
Observation
code: Potassium
hascomponent
Observation
code: Chloride
hascomponent
Observation
code: pH
hascomponent
Observation
code: Bicarbonate
hascomponent
Observation
code: Calcium (free)
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
25
Act Decomposition
Act
code: laparoscopic
cholecystectomy
has-component
seqNum = 1
Act
code: incisions & insertion of
trocars & laparoscope
has-component
seqNum = 2
Act
code: preparation of gallbladder
has-component
seqNum = 1
Act
code: ligature of
ductus cysticus
has-component
seqNum = 3
Act
code: ligature of vessels
has-component
seqNum = 2
Act
code: ligature of A.
cystica
has-component
seqNum = 4
Act
code: excision & extraction of
gall bladder
has-component
seqNum = 5
Act
code: retraction of
laparoscope
has-component
seqNum = 6
Act
code: sutures & bandages
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
26
8/10/2003
Act Decomposition
ponent
=1
Act
code: ligature of
ductus cysticus
has-component
seqNum = 1
Act
code: clamp prox.
ponent
=2
Act
code: ligature of A.
cystica
has-component
seqNum = 2
Act
code: clamp dist.
has-component
seqNum = 3
Act
code: cut
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
27
Act Decomposition
has-component
seqNum = 1
Act
code: clamp prox.
has-component
seqNum = 1
Act
code: open clamp
has-component
seqNum = 2
Act
code: clamp dist.
has-component
seqNum = 2
Act
code: set clamp
has-component
seqNum = 3
Act
code: cut
has-component
seqNum = 3
Act
code: close clamp
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
28
“robotic arm discussion”
• to grasp object:
•
•
•
•
•
•
locate object
find ¾ distance
calculate move
move arm ¾ closer
relocate object
Repeat process until
close enough to grasp
“Acts are Fractal!”
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
29
Care Provision Acts
Patient Care Provision
Inpatient encounter
Visit
Referral
Visit
Inpatient stay
Preadmit
Readmission
Procedures
Results
Visit
Procedures
Results
time
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
30
Block structured language
activity() {
while(loopCondition()) {
step1();
step2();
if(condition1()) step31();
else if(condition2()) step32();
else step33();
step4();
}
}
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
31
Block structured, graphical
A
1
A1
2
A2
4
3
A 3.1
3
A 3.2
3
A 3.3
split
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
A4
join
32
RIM “Programming” Constructs
• statement – act
• if/switch – split-code exclusive
• fork – split-code inclusive
• join – join-codes wait, kill, detach
• loop – repeat-number
• preconditions, post-conditions
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
33
Glucose Tolerance Protocol
GlucoseToleranceObservation
classCode *: <= OBS
m oodCode *: <= DEF
id: SET<II> [1..1]
code: CD CWE [0..1] <= ActCode "GlcToleranceTest"
value: ANY [0..1]
interpretationCode: SET<CE> CWE [0..*] <= Ob servationInterpretation
component
component1
type Code *: <= C OMP
sequenceNumber*: INT [1..1] "1"
type Code *: <= C OMP
sequenceNumber*: INT [1..1] "2"
component1
type Code *: <= C OMP
sequenceNumber*: INT [1..1] "3"
pauseQuantity*: PQ [1..1] "10 min"
splitCode*: CS CNE [1..1] <= "IW"
joinCode*: CS CNE [0..1] <= "W "
1..1 glucoseAdministration
component1
component1
type Code *: <= C OMP
sequenceNumber*: INT [1..1] "3"
pauseQuantity*: PQ [1..1] "30 min"
splitCode*: CS CNE [1..1] <= "IW"
joinCode*: CS CNE [0..1] <= "W "
type Code *: <= C OMP
sequenceNumber*: INT [1..1] "3"
pauseQuantity*: PQ [1..1] "60 min"
splitCode*: CS CNE [1..1] <= "IW"
joinCode*: CS CNE [0..1] <= "W"
GlucoseAdministration
classCode *: <= SBADM
m oodCode *: <= DEF
id: SET<II> [1..1]
routeCode: CE CWE [0..1] <= "PO"
doseQuantity: PQ [0..1] "100 g"
1..1 serumGlucoseObservation
1..1 serumGlucoseObservation
1..1 serumGlucoseObservation
1..1 seru
SerumGlucoseObservation
classCode *: <= OBS
m oodCode *: <= DEF
id: SET<II> [1..1]
code: CD CWE [0..1] <= ActCode "SerumGlucose"
value: ANY [0..1]
interpretationCode: SET<CE> CWE [0..*] <= Ob servationInterpretation
After measuring baseline serum glucose, patient drinks
100 g glucose with water. Serum glucose is measured
after 10, 30, and 60 minutes.
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
34
Guidelines as Action Plans
• Terenziani&Correndo: GLARE “limited
set of clear representative primitives”
• Actions: Work, Query, Decision,
Conclusion – What else we do like
• Query satisfied by prompt or database
(not a prompt action)
• ProForma Keystones: Action, Plan, Enquiry,
Decision
• Workflow as data-flow (and vice versa.)
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
35
Goals vs. Intentions
• Fox: Goal ontology (see also Asbru)
• Knowledge goals
• acquire information
• isn’t that the “enquiry keystone”?
• decide between alternatives
• isn’t that “decision keystone”?
• Action goals
• achieve some state of the world
• enact tasks (e.g. arrange service)
• Difference between intentions and
goals
• intensions: what do I intend to do (=intent).
• goals proper: what I want to accomplish.
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
36
HL7: Intents vs. Goals
• Intents
• plan (what I make for my and mine)
• recommendation (what I offer you)
• request (what I ask you to do)
• Goals
• goal as what I set for my patient
• “required future state”
• mood of an act, kind of predicate
• objective of an action
• final objective (stop when reached)
• maintenance objective (keep on doing it)
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
37
Of starting and stopping …
• Asbru (Miksch, Shahar 1996)
• HL7 RIM
• precondition
• filter-precondition
• setup-precondition
•
•
•
•
•
•
•
8/10/2003
complete-condition
intention:overall-state
intention:intermediate-state
suspend-condition
restart-condition
abort-condition
effect
•
•
•
•
trigger
postcondition (“outcome”)
final objective
maintenance objective
•
•
•
•
neg. through-precondition
final or maint. objective
risk (adverse effect)
has-manifestation
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
38
Act states and transitions
normal
suspended
held
release
resume
cancel
complete
temporary
interruption
abort
suspend
hold
active
new
complete
completed
activate
cancel
abort
cancelled
new
nullified
8/10/2003
reactivate
aborted
exceptional
termination
complete
activate
nullify
normal path
obsolete
obsolete
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
39
Time and Timing
• Kaiser&Miksch: TimeWrap, Asbru
• interval-based
• cyclical plan
• frequency as period duration
• HL7: period
• “starting shift”, “finishing shift”
• HL7: phase
• number of occurrences restriction?
• HL7: repeatNumber: 1=single >1=cyclical
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
40
Time and Timing in HL7
• Elapsed time: 10 min, 30 s, etc.
• a Physical Quantity (like any other)
• Point in time: 19870605043210.001
• Interval of time: 19870605..19870613
• Periodic interval of time
• period = 7d, phase = [19870605;19870606[
• Arbitrary Set of Time
• Event related interval of time:
• e.g., 1h AC, CC, HS
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
41
Periodic Time
Dt
w = 2p f
j = w Dt
j
f=
1
T
T
•
•
•
•
8/10/2003
Frequency f = 3/d, same as
Period T = 8 h
Phase j (~ Dt) can address any point in period.
If phase is a range, we get periodic time intervals.
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
42
Arbitrary Sets of Time
• Composed by set-operations
• Example: Every other day from Monday to Friday 8:00
AM to 10:00 AM for six consecutive times.
Sa Su Mo Tu We Th Fr
Sa Su Mo Tu We Th Fr
Monday–Friday
Monday–Friday
Mo Tu We Th Fr
0
2
4
6
Mo
We
2
Sa Su Mo Tu
Mo–
Mo Tu We Th Fr
8
Mo Tu
10
12
14
16
Fr
Tu
Th
Mo
3
4
5
6
8:00-10:00
1
outer bound interval
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
43
Dear Samson …
• Tu: EON, SAGE
• “opportunities for decision support”
• e.g., CPOE
• Problem with clinical protocols
• there is no “program counter”
• CPOE Alert & Reminder Systems
• are proven effective
• single evidence-based decision
support requires little context
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
44
Example: Arden MLM
maintenance:
title:
Check creatinine for gentamicin orders ;;
knowledge:
type: data_driven;;
data: genta_order := event { ‘o132’; };
(crea_value) := read last { ‘e44’ ; ‘o44’ };
output := destination {‘alert_channel’}; ;;
evoke: genta_order;;
logic: if time of crea_value is > 3 days
conclude true;;
action: write “need to check serum creatinine”
at output ;;
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
45
Same rule in the RIM
SubstanceAdministrationEventCriterion
classCode *: <= SBADM
m oodCode *: <= EVN.CRT
code: CD CWE [0..1] <= GentamicinTreatment
trigger
0..* substanceAdministrationEventCriterion
type Code *: <= TRIG
InformDefinition
classCode *: <= INFRM
m oodCode *: <= DEF
text: ST [0..1] "need to check serum creatinine"
title: ST [0..1] "Check creatinine for gentamicin orders"
precondition
type Code *: <= PRCN
pauseQuantity: PQ [0..1] "< 3 d" 0..* observationEventCriterion
ObservationEventCriterion
classCode *: <= OBS
m oodCode *: <= EVN.CRT
code: CE CWE [0..1] <= SerumCreatinine
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
46
Underlying knowledge
SubstanceAdministrationDefinition
classCode *: <= SBADM
m oodCode *: <= DEF
code: CD CWE [0..1] <= GentamicinTreatment
precondition
type Code *: <= PRCN
pauseQuantity: PQ [0..1] "< 3 d" 0..* observationDefinition
ObservationDefinition
classCode *: <= OBS
m oodCode *: <= DEF
code: CE CWE [0..1] <= SerumCreatinine
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
47
Workflow Plan
SubstanceAdministrationDefinition
classCode *: <= SBADM
m oodCode *: <= DEF
code: CD CWE [0..1] <= GentamicinTreatmentProtocol
component
component1
type Code *: <= C OMP
type Code *: <= C OMP
sequenceNumber: INT [0..1] "1" 0..* observationDefinition
sequenceNumber: INT [0..1] "2" 0..* substanceAdministration
ObservationDefinition
SubstanceAdministrationDefinition
classCode *: <= OBS
m oodCode *: <= DEF
code: CE CWE [0..1] <= SerumCreatinine
classCode *: <= SBADM
m oodCode *: <= DEF
code: CD CWE [0..1] <= GentamicinTreatment
independentInd*: BL [1..1] "false"
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
48
Purpose of rule: dose check
0..* inputObservationDefinition
derivedFrom1
SubstanceAdministrationDefinition
ObservationDefinition type Code *: <= DRIV
classCode *: <= SBADM
sequenceNumber: INT [0..1] "1"
classCode *: <= OBS
m oodCode *: <= DEF
localVariableName: ST [0..1] "crea" code: CD CWE [0..1] <= GentamicinTreatment
m oodCode *: <= DEF
code: CE CWE [0..1] <= SerumCreatinine
derivationExpr: ST [0..1]
"doseQuantity.lessThan(m.dividedBy(crea).times(PQ(1, mg2/kg/dL)))"
ObservationDefinition0..* inputObservationDefinition
derivedFrom
classCode *: <= OBS
type Code *: <= DRIV
m oodCode *: <= DEF
sequenceNumber: INT [0..1] "1"
code: CE CWE [0..1] <= BodyMass
localVariableName: ST [0..1] "m"
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
49
Which Is Best?
• Arden-like approach
• says what the system does
• i.e. show alert message
• Precondition dependency relations
• says what you have to do first
• but doesn’t say why
• Workflow plan
• says what steps you have to do
• but what if you have already done them?
• Parameter dependency relation
• says what the use of the antecedent is
• transformed into business rule depending on the
receiving system
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
50
Benefits of HL7 RIM Approach
• Knowledge concepts can be modeled, in
the same language used to model patient
data.
• Facilitates Integration
• RIM allows for different guideline
conceptualizations
• Information and Knowledge have essentially
the same form!
• Direct systematic comparability
• Rooted in practical use cases and
applications
• Broad Cross-Domain Consensus
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
51
thank you
8/10/2003
Copyright (c) 1999-2003 Regenstrief Institute for Health Care
52