![]() |
HDR Version 7 HL7 Version 3 Messaging Conformance Specification |
Contents Previous Next Conformance Examples |
The contemporary healthcare domain requires the use of a variety of code systems for functions such as billing, epidemiological reporting, and ordering or documenting clinical services. Healthcare providers and administrators are under increasing pressure to evaluate the quality, effectiveness, and cost of clinical care. The data necessary for this analysis contained in clinical records, includes a wide array of conceptually redundant terms and phrases, typically in the same clinical record. This makes computer processing to support quality of care review, utilization review, and other aggregate analyses problematic.
The terminology problem is one of the greatest obstacles to the automated use of computer-based clinical information for administrative purposes, health outcomes analysis, and clinical care.
The solution to the terminology problem lies in the use of concept representation systems, controlled sets of codes and terms that represent concepts. Concept representation systems provide the symbolic representations that enable computer processing while also providing appropriate natural language display for human users.
Healthcare applications utilizing a core set of concepts enable semantic interoperability, support the use of decision support, and facilitate the delivery of contextually appropriate information at the point of care, a key requirement for improving both clinical care and resource utilization.
Accepted best terminology practices in healthcare informatics include immutable concepts (concepts that do not change over time), context-free concept identifiers (the code used to identify a concept does not indicate a position in a taxonomy), allowed synonymy, and ontological support (concept-to-concept relationship information). Due to the development and maintenance costs of terminology systems, it is unlikely that a single, monolithic concept representation system will emerge with broad coverage of medicine. It is more likely that specialized terminology systems and code sets will continue to be developed, each covering a particular medical concept space.
This demands an application solution implementing access to various terminological or code systems using a standard interface. This is the goal of Oracle's Enterprise Terminology Services (ETS). The ETS component of Oracle Healthcare Data Repository (HDR) implements access to terminology systems that form the basis for a common concept space.
This section contains the following topics:
2.1 HL7 Vocabulary DomainsEach coded attribute in the RIM is associated with a vocabulary domain. Within HL7, a vocabulary domain is the set of all concepts that can be taken as valid values in an instance of a coded field or attribute. For several of these vocabulary domains, HL7 provides vocabulary content in the form of HL7 code systems and concepts. These HL7 code systems are distributed with HDR as part of the seeded vocabulary content in ETS.
For some other vocabulary domains, HL7 references an external code system but does not specify the contents. In such cases, HDR has included the code system if it can be distributed without a license. There are three such code systems: NUBC-UB92, IETF RFC 1766 (ISO 639-1), and ISO 3166-1. Note that new versions of these code systems are not included in each HDR release. This content is available to customers from HDR's content management partner.
Since the HDR repository is based on the RIM, there is a one to one correspondence between RIM coded attributes and HDR coded attributes. Each HDR coded attribute is bound to a unique seeded concept list that represents the vocabulary domain of the corresponding RIM attribute. For example, the disabilityCode attribute in the Person class is bound to the CL_PSN_DISABILITY_CODE concept list.
If a coded attribute has a vocabulary domain with HL7 specified content, the corresponding concept list is seeded with that content. For example, the RIM specifies PersonDisabilityType as the vocabulary domain for Person.disabilityCode. HL7 provides a code system with disability concepts to populate this domain. All these concepts have been seeded in the CL_PSN_DISABILITY_CODE concept list.
When RIM based objects are submitted by HDR APIs for persistence, the contents of most coded attributes undergo two forms of validation:
If either validation fails, the submission is rejected.
The inbound message processing service also uses these RIM based objects and APIs to persist information from received messages. Therefore, inbound messages are subject to the same validation. If the value in a coded attribute of a received message does not appear in the corresponding HDR concept list (with the exceptions noted above), the message will be rejected.
The vocabulary domain specification for a coded attribute in the RIM is accompanied by an Extensibility Qualifier. The Extensibility Qualifier has two possible values:
The CWE value for the Extensibility Qualifier means that the code set can be expanded to meet local implementation needs. In HDR, the concept lists corresponding to such attributes are defined as extensible concept lists. This means that while HL7 concepts that are already seeded may not be removed, additional concepts from any ETS code system may be added to suit the list to local needs.
HL7 terminology has been supplemented with three external code systems referenced by HL7 -- NUBC-UB92, IETF RFC 1766 (ISO 639-1), and ISO 3166-1. In addition, an Oracle-maintained code system, HDR Supplemental, provides additional coded terms that are required to support HDR solution areas, but are presently unavailable from standard HL7 code systems.
The CNE value for the Extensibility Qualifier means that the code set is fixed and cannot be extended. A concept from the specified domain must be sent as the value of the coded field in a message. In HDR, concept lists corresponding to such attributes are defined as system concept lists. This means that concepts can not be added or removed from these lists. These concept lists will always contain the finite content specified by HL7 and seeded by Oracle.
RIM attributes that have CNE vocabulary domains are referred to as structural attributes because their value establishes essential properties such as the class and status of an object. By tightly controlling these codes and their meanings, HL7 ensures that systems based on a particular version of the RIM share a basic degree of interoperability.
Some RIM datatypes have coded components with CNE vocabulary domains represented in HDR using system concept lists.
The following table lists the structural attributes and their system concept lists:
Table 2.3-1 HDR Structural Coded Attributes and Concept ListsClass | Attribute | Concept List Name |
Act | ClassCode | CL_ACT_CLASS_CODE |
Act | MoodCode | CL_ACT_MOOD_CODE |
Act | StatusCode | CL_ACT_STATUS_CODE |
ActRelationship | CheckpointCode | CL_ACTREL_CHECKPOINT_CODE |
ActRelationship | ConjunctionCode | CL_ACTREL_CONJUNCTION_CODE |
ActRelationship | ContextControlCode | CL_ACTREL_CONTEXT_CONTROL_CODE |
ActRelationship | JoinCode | CL_ACTREL_JOIN_CODE |
ActRelationship | SplitCode | CL_ACTREL_SPLIT_CODE |
ActRelationship | TypeCode | CL_ACTREL_TYPE_CODE |
ActRelationship | UncertaintyCode | CL_ACTREL_UNCERTAINTY_CODE |
Entity | ClassCode | CL_ENT_CLASS_CODE |
Entity | DeterminerCode | CL_ENT_DETERMINER_CODE |
Entity | StatusCode | CL_ENT_STATUS_CODE |
ManagedParticipation | StatusCode | CL_MNPRTCPN_STATUS_CODE |
Participation | ContextControlCode | CL_PRTCPN_CONTEXT_CONTROL_CODE |
Participation | SignatureCode | CL_PRTCPN_SIGNATURE_CODE |
Participation | TypeCode | CL_PRTCPN_TYPE_CODE |
Role | ClassCode | CL_ROL_CLASS_CODE |
Role | StatusCode | CL_ROL_STATUS_CODE |
The following table lists coded datatype components and their system concept lists:
Table 2.3-2 HDR Coded Datatype Components and Concept ListsDatatype | Component | Concept List Name |
AD | use | CL_AD_USE |
ADXP | partType | CL_ADXP_PART_TYPE |
ED | compression | CL_ED_COMPRESSION |
ED | integrityCheckAlgorithm | CL_ED_INTEGRITY_CHECK_ALGORITHM |
ED | representation | CL_ED_REPRESENTATION |
EIVL | event | CL_EIVL_EVENT |
EN | use | CL_EN_USE |
ENXP | partType | CL_ENXP_PART_TYPE |
ENXP | qualifier | CL_ENXP_QUALIFIER |
MO | currency | CL_MO_CURRENCY |
PIVL | alignment | CL_PIVL_ALIGNMENT |
TEL | use | CL_TEL_USE |
TS | calendar | CL_TS_CALENDAR |
The following table lists non structural coded attributes and their extensible concept lists:
Table 2.3-3 HDR Non Structural Coded Attributes and Concept ListClass | Attribute | Concept List Name |
Access | ApproachSiteCode | CL_ACCESS_APPROACH_SITE_CODE |
Access | TargetSiteCode | CL_ACCESS_TARGET_SITE_CODE |
Account | CurrencyCode | CL_ACCT_CURRENCY_CODE |
Act | ConfidentialityCode | CL_ACT_CONFIDENTIALITY_CODE |
Act | LevelCode | CL_ACT_LEVEL_CODE |
Act | PriorityCode | CL_ACT_PRIORITY_CODE |
Act | ReasonCode | CL_ACT_REASON_CODE |
Act | UncertaintyCode | CL_ACT_UNCERTAINTY_CODE |
Container | CapTypeCode | CL_CONT_CAP_TYPE_CODE |
Container | SeparatorTypeCode | CL_CONT_SEPARATOR_TYPE_CODE |
Device | AlertLevelCode | CL_DEV_ALERT_LEVEL_CODE |
Device | LocalRemoteControlStateCode | CL_DEV_LOCAL_REMOTE_CONTROL_STATE_CODE |
Device | ManufacturerModelName | CL_DEV_MANUFACTURER_MODEL_NAME |
Device | SoftwareName | CL_DEV_SOFTWARE_NAME |
DiagnosticImage | SubjectOrientationCode | CL_DGIMG_SUBJECT_ORIENTATION_CODE |
Document | CompletionCode | CL_DOC_COMPLETION_CODE |
Document | StorageCode | CL_DOC_STORAGE_CODE |
Employee | JobClassCode | CL_EMP_JOB_CLASS_CODE |
Employee | JobCode | CL_EMP_JOB_CODE |
Employee | JobTitleName | CL_EMP_JOB_TITLE_NAME |
Employee | SalaryTypeCode | CL_EMP_SALARY_TYPE_CODE |
Entity | HandlingCode | CL_ENT_HANDLING_CODE |
Entity | RiskCode | CL_ENT_RISK_CODE |
FinancialContract | PaymentTermsCode | CL_FCNTRCT_PAYMENT_TERMS_CODE |
InvoiceElement | ModifierCode | CL_INVE_MODIFIER_CODE |
LanguageCommunication | ModeCode | CL_LANGCOM_MODE_CODE |
LanguageCommunication | ProficiencyLevelCode | CL_LANGCOM_PROFICIENCY_LEVEL_CODE |
LivingSubject | AdministrativeGenderCode | CL_LIV_ADMINISTRATIVE_GENDER_CODE |
Material | FormCode | CL_MAT_FORM_CODE |
NonPersonLivingSubject | GenderStatusCode | CL_NLIV_GENDER_STATUS_CODE |
Observation | InterpretationCode | CL_OBS_INTERPRETATION_CODE |
Observation | MethodCode | CL_OBS_METHOD_CODE |
Observation | TargetSiteCode | CL_OBS_TARGET_SITE_CODE |
Organization | StandardIndustryClassCode | CL_ORG_STANDARD_INDUSTRY_CLASS_CODE |
Participation | AwarenessCode | CL_PRTCPN_AWARENESS_CODE |
Participation | FunctionCode | CL_PRTCPN_FUNCTION_CODE |
Participation | ModeCode | CL_PRTCPN_MODE_CODE |
Participation | SubstitutionConditionCode | CL_PRTCPN_SUBSTITUTION_CONDITION_CODE |
Patient | ConfidentialityCode | CL_PAT_CONFIDENTIALITY_CODE |
Patient | VeryImportantPersonCode | CL_PAT_VERY_IMPORTANT_PERSON_CODE |
PatientEncounter | AcuityLevelCode | CL_ENC_ACUITY_LEVEL_CODE |
PatientEncounter | AdmissionReferralSourceCode | CL_ENC_ADMISSION_REFERRAL_SOURCE_CODE |
PatientEncounter | DischargeDispositionCode | CL_ENC_DISCHARGE_DISPOSITION_CODE |
PatientEncounter | SpecialAccommodationCode | CL_ENC_SPECIAL_ACCOMMODATION_CODE |
PatientEncounter | SpecialArrangementCode | CL_ENC_SPECIAL_ARRANGEMENT_CODE |
PatientEncounter | SpecialCourtesiesCode | CL_ENC_SPECIAL_COURTESIES_CODE |
Person | DisabilityCode | CL_PSN_DISABILITY_CODE |
Person | EducationLevelCode | CL_PSN_EDUCATION_LEVEL_CODE |
Person | EthnicGroupCode | CL_PSN_ETHNIC_GROUP_CODE |
Person | LivingArrangementCode | CL_PSN_LIVING_ARRANGEMENT_CODE |
Person | MaritalStatusCode | CL_PSN_MARITAL_STATUS_CODE |
Person | RaceCode | CL_PSN_RACE_CODE |
Person | ReligiousAffiliationCode | CL_PSN_RELIGIOUS_AFFILIATION_CODE |
Procedure | ApproachSiteCode | CL_PROC_APPROACH_SITE_CODE |
Procedure | MethodCode | CL_PROC_METHOD_CODE |
Procedure | TargetSiteCode | CL_PROC_TARGET_SITE_CODE |
PublicHealthCase | DetectionMethodCode | CL_CASE_DETECTION_METHOD_CODE |
PublicHealthCase | DiseaseImportedCode | CL_CASE_DISEASE_IMPORTED_CODE |
PublicHealthCase | TransmissionModeCode | CL_CASE_TRANSMISSION_MODE_CODE |
Role | ConfidentialityCode | CL_ROL_CONFIDENTIALITY_CODE |
SubstanceAdministration | AdministrationUnitCode | CL_SBADM_ADMINISTRATION_UNIT_CODE |
SubstanceAdministration | ApproachSiteCode | CL_SBADM_APPROACH_SITE_CODE |
SubstanceAdministration | MethodCode | CL_SBADM_METHOD_CODE |
SubstanceAdministration | RouteCode | CL_SBADM_ROUTE_CODE |
WorkingList | OwnershipLevelCode | CL_LIST_OWNERSHIP_LEVEL_CODE |
For details about the content seeded in each list, refer to the Oracle Healthcare Data Repository Javadoc.
Acts, Roles, and Entities have a special subset of attributes that establish the type of action, competency or thing that they represent.
The Master Catalog is a mechanism by which one can configure the specific types of Acts, Roles and Entities that are valid for a particular HDR installation. Any Act, Role, or Entity that is part of an inbound message must be valid according to current Master Catalog configuration for the message to be successfully processed.
For focal classes, the message processor performs additional validation by verifying that it matches the Master Catalog entry configured for that specific trigger event.
For additional information about the Master Catalog, refer to the Implementing Master Catalog section of the Oracle Healthcare Data Repository Implementation Guide.
When RMIMs are created, one of the constraints that can be applied to a RIM coded attributes is to further restrict the vocabulary domain. This restriction can assume one of the following forms:
Class | Attribute |
Act | classCode |
Act | moodCode |
Act | levelCode |
Role | classCode |
Entity | classCode |
Entity | determinerCode |
Participation | typeCode |
Participation | contextControlCode |
ActRelationship | typeCode |
ActRelationship | contextControlCode |
When the outbound message processor is requested to generate a message based on such an XSD, it will automatically populate the defaults for these attributes if they do not have any values in the repository. See Figure 2.5-2 below for an example.
Figure: 2.5-2 Example of defaults represented in XSD
<xs:complexType name="COCT_MT030200HT03.ProviderPerson"> <xs:attribute name="classCode" type="EntityClass" default="PSN"/> <xs:attribute name="determinerCode" type="EntityDeterminer" default="INSTANCE"/> </xs:complexType>The HDR inbound message processor does not validate that a code sent in such an attribute matches the default specified in the schema. However, Concept List validations and Master Catalog validations are always performed.
For all other coded attributes, any leaf code restriction of the vocabulary domain is not represented in the schema. Implementers must consult the RMIMs, HMDs, and this document to determine if a restriction is important for their business process and enforce it accordingly.
There are two pieces of information that are needed in order to resolve an HL7 coded datatype into a concept that HDR understands. These are the code system and code. A code system version may also be sent; in its absence, the default configured in ETS is adopted.
For structural attributes, the coded datatype is CS. It allows only the code component. This is adequate in these cases because the set of codes for each attribute is tightly regulated by HL7 and is implicit in every message that is based on a particular RIM version.
For other attributes that have CE or CD as the datatype, the code system and code must be sent.
There are two components of coded datatypes that can be used to reference the code system. These are:
For HDR Conformance, the codeSystem should be sent. This will ensure the greatest interoperability since the human readable codeSystemNames have not been standardized. However, message processing will succeed even if the codeSystemName is sent instead. When a codeSystemName is sent, it should correspond exactly to the name assigned by the ETS Administrator at the time of loading the terminology. For example, if the ETS Administrator loaded ICD codes using the name ICD-9-CM, a message that referred to the codeSystemName as ICD9-CM would fail.
For the names and OIDs of code systems that are supported by ETS, refer to the Oracle Healthcare Data Repository Implementation Guide.
ETS stores a modified version of codes from FirstDataBank's National Drug Data File Plus (NDDF Plus) product. To each code, a suffix is appended depending upon the type of concept. This creates a unique code for all the concepts in the ETS FDB coding scheme.
Codes from NDDF that are sent to HDR in HL7 messages must be appended with the following suffixes:
Table 2.7-1 FDB Code SuffixesFDB Concept Type | Suffix |
Allergy Groups | -AGRP |
Dosage Forms | -DF |
Hierarchical Ingredient Codes | -HIC |
MED Medications | -MED |
MED Routed Dosage Form Medications | -RDFM |
MED Routed Medications | -RTMED |
MED Medication Names | -MEDNM |
FDB NDC | -NDC |
Routes | -RT |
For example, an FDB MED Medication Name concept with code 00002835 must be sent to HDR with the code set to 00002835-MEDNM and the codeSystemName set to FDB. FDB NDDF Codes received from HDR also carry these suffixes.
Contents Previous Next Conformance Examples |
Copyright © 2018, Oracle. All rights reserved. |
About OracleContact UsLegal Notices and Terms for UsePrivacy Statement |