{ "description": "The VISIT_DETAIL table is an optional table used to represents details of each record in the parent VISIT_OCCURRENCE table. A good example of this would be the movement between units in a hospital during an inpatient stay or claim lines associated with a one insurance claim. For every record in the VISIT_OCCURRENCE table there may be 0 or more records in the VISIT_DETAIL table with a 1:n relationship where n may be 0. The VISIT_DETAIL table is structurally very similar to VISIT_OCCURRENCE table and belongs to the visit domain.", "_filename": "StructureDefinition-VisitDetail.json", "package_name": "hl7.fhir.uv.omop", "date": "2025-07-29T21:03:04+00:00", "derivation": "specialization", "publisher": "HL7 International / Biomedical Research and Regulation", "fhirVersion": "5.0.0", "jurisdiction": [ { "coding": [ { "code": "001", "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", "display": "World" } ] } ], "name": "VisitDetail", "mapping": [ { "uri": "http://hl7.org/v3", "name": "RIM Mapping", "identity": "rim" } ], "abstract": false, "type": "http://hl7.org/fhir/uv/omop/StructureDefinition/VisitDetail", "experimental": null, "resourceType": "StructureDefinition", "title": "Visit Detail OMOP Table", "package_version": "1.0.0-ballot", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics", "valueCode": "can-be-target" }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", "valueCode": "brr" }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", "valueInteger": 1, "_valueInteger": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", "valueCanonical": "http://hl7.org/fhir/uv/omop/ImplementationGuide/hl7.fhir.uv.omop" } ] } }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", "valueCode": "informative", "_valueCode": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", "valueCanonical": "http://hl7.org/fhir/uv/omop/ImplementationGuide/hl7.fhir.uv.omop" } ] } } ], "snapshot": { "element": [ { "path": "VisitDetail", "min": 0, "definition": "The VISIT_DETAIL table is an optional table used to represents details of each record in the parent VISIT_OCCURRENCE table. A good example of this would be the movement between units in a hospital during an inpatient stay or claim lines associated with a one insurance claim. For every record in the VISIT_OCCURRENCE table there may be 0 or more records in the VISIT_DETAIL table with a 1:n relationship where n may be 0. The VISIT_DETAIL table is structurally very similar to VISIT_OCCURRENCE table and belongs to the visit domain.", "isModifier": false, "short": "Visit Detail OMOP Table", "mapping": [ { "map": "n/a", "identity": "rim" } ], "max": "*", "id": "VisitDetail", "base": { "max": "*", "min": 0, "path": "Base" } }, { "id": "VisitDetail.visit-detail-id", "max": "1", "min": 1, "base": { "max": "1", "min": 1, "path": "VisitDetail.visit_detail_id" }, "path": "VisitDetail.visit_detail_id", "type": [ { "code": "integer" } ], "short": "Visit Detail Identifier", "definition": "Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit detail." }, { "id": "VisitDetail.person-id", "max": "1", "min": 1, "base": { "max": "1", "min": 1, "path": "VisitDetail.person_id" }, "path": "VisitDetail.person_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/Person" ] } ], "short": "Person", "definition": "Person" }, { "id": "VisitDetail.visit-detail-concept-id", "max": "1", "min": 1, "base": { "max": "1", "min": 1, "path": "VisitDetail.visit_detail_concept_id" }, "path": "VisitDetail.visit_detail_concept_id", "type": [ { "code": "code" } ], "short": "Visit Detail", "definition": "This field contains a concept id representing the kind of visit detail, like inpatient or outpatient. All concepts in this field should be standard and belong to the Visit domain." }, { "id": "VisitDetail.visit-detail-start-date", "max": "1", "min": 1, "base": { "max": "1", "min": 1, "path": "VisitDetail.visit_detail_start_date" }, "path": "VisitDetail.visit_detail_start_date", "type": [ { "code": "date" } ], "short": "Visit Detail Start Date", "definition": "This is the date of the start of the encounter. This may or may not be equal to the date of the Visit the Visit Detail is associated with." }, { "id": "VisitDetail.visit-detail-start-datetime", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.visit_detail_start_datetime" }, "path": "VisitDetail.visit_detail_start_datetime", "type": [ { "code": "dateTime" } ], "short": "Visit Detail Start Datetime", "definition": "Visit Detail Start Datetime" }, { "id": "VisitDetail.visit-detail-end-date", "max": "1", "min": 1, "base": { "max": "1", "min": 1, "path": "VisitDetail.visit_detail_end_date" }, "path": "VisitDetail.visit_detail_end_date", "type": [ { "code": "date" } ], "short": "Visit Detail End Date", "definition": "This the end date of the patient-provider interaction. If a Person is still an inpatient in the hospital at the time of the data extract and does not have a visit_end_date, then set the visit_end_date to the date of the data pull." }, { "id": "VisitDetail.visit-detail-end-datetime", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.visit_detail_end_datetime" }, "path": "VisitDetail.visit_detail_end_datetime", "type": [ { "code": "dateTime" } ], "short": "Visit Detail End Datetime", "definition": "If a Person is still an inpatient in the hospital at the time of the data extract and does not have a visit_end_datetime, then set the visit_end_datetime to the datetime of the data pull." }, { "id": "VisitDetail.visit-detail-type-concept-id", "max": "1", "min": 1, "base": { "max": "1", "min": 1, "path": "VisitDetail.visit_detail_type_concept_id" }, "path": "VisitDetail.visit_detail_type_concept_id", "type": [ { "code": "code" } ], "short": "Visit Detail Type", "definition": "Use this field to understand the provenance of the visit detail record, or where the record comes from." }, { "id": "VisitDetail.provider-id", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.provider_id" }, "path": "VisitDetail.provider_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/Provider" ] } ], "short": "Provider", "definition": "There will only be one provider per **visit** record and the ETL document should clearly state how they were chosen (attending, admitting, etc.). This is a typical reason for leveraging the VISIT_DETAIL table as even though each VISIT_DETAIL record can only have one provider, there is no limit to the number of VISIT_DETAIL records that can be associated to a VISIT_OCCURRENCE record." }, { "id": "VisitDetail.care-site-id", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.care_site_id" }, "path": "VisitDetail.care_site_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/CareSite" ] } ], "short": "Care Site", "definition": "This field provides information about the Care Site where the Visit Detail took place." }, { "id": "VisitDetail.visit-detail-source-value", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.visit_detail_source_value" }, "path": "VisitDetail.visit_detail_source_value", "type": [ { "code": "string" } ], "short": "Visit Detail Source Value", "definition": "This field houses the verbatim value from the source data representing the kind of visit detail that took place (inpatient, outpatient, emergency, etc.)" }, { "id": "VisitDetail.visit-detail-source-concept-id", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.visit_detail_source_concept_id" }, "path": "VisitDetail.visit_detail_source_concept_id", "type": [ { "code": "code" } ], "short": "Visit Detail Source Concept", "definition": "Visit Detail Source Concept" }, { "id": "VisitDetail.admitted-from-concept-id", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.admitted_from_concept_id" }, "path": "VisitDetail.admitted_from_concept_id", "type": [ { "code": "code" } ], "short": "Admitted From", "definition": "Use this field to determine where the patient was admitted from. This concept is part of the visit domain and can indicate if a patient was admitted to the hospital from a long-term care facility, for example." }, { "id": "VisitDetail.admitted-from-source-value", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.admitted_from_source_value" }, "path": "VisitDetail.admitted_from_source_value", "type": [ { "code": "string" } ], "short": "Admitted From Source Value", "definition": "Admitted From Source Value" }, { "id": "VisitDetail.discharged-to-source-value", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.discharged_to_source_value" }, "path": "VisitDetail.discharged_to_source_value", "type": [ { "code": "string" } ], "short": "Discharged To Source Value", "definition": "Discharged To Source Value" }, { "id": "VisitDetail.discharged-to-concept-id", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.discharged_to_concept_id" }, "path": "VisitDetail.discharged_to_concept_id", "type": [ { "code": "code" } ], "short": "Discharged To", "definition": "Use this field to determine where the patient was discharged to after a visit. This concept is part of the visit domain and can indicate if a patient was transferred to another hospital or sent to a long-term care facility, for example. It is assumed that a person is discharged to home therefore there is not a standard concept id for \"home\". Use concept id = 0 when a person is discharged to home." }, { "id": "VisitDetail.preceding-visit-detail-id", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.preceding_visit_detail_id" }, "path": "VisitDetail.preceding_visit_detail_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/VisitDetail" ] } ], "short": "Preceding Visit", "definition": "Use this field to find the visit detail that occurred for the person prior to the given visit detail record. There could be a few days or a few years in between." }, { "id": "VisitDetail.parent-visit-detail-id", "max": "1", "min": 0, "base": { "max": "1", "min": 0, "path": "VisitDetail.parent_visit_detail_id" }, "path": "VisitDetail.parent_visit_detail_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/VisitDetail" ] } ], "short": "Parent Visit", "definition": "Use this field to find the visit detail that subsumes the given visit detail record. This is used in the case that a visit detail record needs to be nested beyond the VISIT_OCCURRENCE/VISIT_DETAIL relationship." }, { "id": "VisitDetail.visit-occurrence-id", "max": "1", "min": 1, "base": { "max": "1", "min": 1, "path": "VisitDetail.visit_occurrence_id" }, "path": "VisitDetail.visit_occurrence_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/VisitOccurrence" ] } ], "short": "Visit Occurrence", "definition": "Use this field to link the VISIT_DETAIL record to its VISIT_OCCURRENCE." } ], "extension": [ { "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version", "valueString": "5.0.0" } ] }, "status": "active", "id": "2a30da7e-bb42-4b81-b00e-54028d29e117", "kind": "logical", "url": "http://hl7.org/fhir/uv/omop/StructureDefinition/VisitDetail", "version": "1.0.0-ballot", "differential": { "element": [ { "id": "VisitDetail", "path": "VisitDetail", "short": "Visit Detail OMOP Table", "definition": "The VISIT_DETAIL table is an optional table used to represents details of each record in the parent VISIT_OCCURRENCE table. A good example of this would be the movement between units in a hospital during an inpatient stay or claim lines associated with a one insurance claim. For every record in the VISIT_OCCURRENCE table there may be 0 or more records in the VISIT_DETAIL table with a 1:n relationship where n may be 0. The VISIT_DETAIL table is structurally very similar to VISIT_OCCURRENCE table and belongs to the visit domain." }, { "id": "VisitDetail.visit-detail-id", "max": "1", "min": 1, "path": "VisitDetail.visit_detail_id", "type": [ { "code": "integer" } ], "short": "Visit Detail Identifier", "definition": "Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit detail." }, { "id": "VisitDetail.person-id", "max": "1", "min": 1, "path": "VisitDetail.person_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/Person" ] } ], "short": "Person", "definition": "Person" }, { "id": "VisitDetail.visit-detail-concept-id", "max": "1", "min": 1, "path": "VisitDetail.visit_detail_concept_id", "type": [ { "code": "code" } ], "short": "Visit Detail", "definition": "This field contains a concept id representing the kind of visit detail, like inpatient or outpatient. All concepts in this field should be standard and belong to the Visit domain." }, { "id": "VisitDetail.visit-detail-start-date", "max": "1", "min": 1, "path": "VisitDetail.visit_detail_start_date", "type": [ { "code": "date" } ], "short": "Visit Detail Start Date", "definition": "This is the date of the start of the encounter. This may or may not be equal to the date of the Visit the Visit Detail is associated with." }, { "id": "VisitDetail.visit-detail-start-datetime", "max": "1", "min": 0, "path": "VisitDetail.visit_detail_start_datetime", "type": [ { "code": "dateTime" } ], "short": "Visit Detail Start Datetime", "definition": "Visit Detail Start Datetime" }, { "id": "VisitDetail.visit-detail-end-date", "max": "1", "min": 1, "path": "VisitDetail.visit_detail_end_date", "type": [ { "code": "date" } ], "short": "Visit Detail End Date", "definition": "This the end date of the patient-provider interaction. If a Person is still an inpatient in the hospital at the time of the data extract and does not have a visit_end_date, then set the visit_end_date to the date of the data pull." }, { "id": "VisitDetail.visit-detail-end-datetime", "max": "1", "min": 0, "path": "VisitDetail.visit_detail_end_datetime", "type": [ { "code": "dateTime" } ], "short": "Visit Detail End Datetime", "definition": "If a Person is still an inpatient in the hospital at the time of the data extract and does not have a visit_end_datetime, then set the visit_end_datetime to the datetime of the data pull." }, { "id": "VisitDetail.visit-detail-type-concept-id", "max": "1", "min": 1, "path": "VisitDetail.visit_detail_type_concept_id", "type": [ { "code": "code" } ], "short": "Visit Detail Type", "definition": "Use this field to understand the provenance of the visit detail record, or where the record comes from." }, { "id": "VisitDetail.provider-id", "max": "1", "min": 0, "path": "VisitDetail.provider_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/Provider" ] } ], "short": "Provider", "definition": "There will only be one provider per **visit** record and the ETL document should clearly state how they were chosen (attending, admitting, etc.). This is a typical reason for leveraging the VISIT_DETAIL table as even though each VISIT_DETAIL record can only have one provider, there is no limit to the number of VISIT_DETAIL records that can be associated to a VISIT_OCCURRENCE record." }, { "id": "VisitDetail.care-site-id", "max": "1", "min": 0, "path": "VisitDetail.care_site_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/CareSite" ] } ], "short": "Care Site", "definition": "This field provides information about the Care Site where the Visit Detail took place." }, { "id": "VisitDetail.visit-detail-source-value", "max": "1", "min": 0, "path": "VisitDetail.visit_detail_source_value", "type": [ { "code": "string" } ], "short": "Visit Detail Source Value", "definition": "This field houses the verbatim value from the source data representing the kind of visit detail that took place (inpatient, outpatient, emergency, etc.)" }, { "id": "VisitDetail.visit-detail-source-concept-id", "max": "1", "min": 0, "path": "VisitDetail.visit_detail_source_concept_id", "type": [ { "code": "code" } ], "short": "Visit Detail Source Concept", "definition": "Visit Detail Source Concept" }, { "id": "VisitDetail.admitted-from-concept-id", "max": "1", "min": 0, "path": "VisitDetail.admitted_from_concept_id", "type": [ { "code": "code" } ], "short": "Admitted From", "definition": "Use this field to determine where the patient was admitted from. This concept is part of the visit domain and can indicate if a patient was admitted to the hospital from a long-term care facility, for example." }, { "id": "VisitDetail.admitted-from-source-value", "max": "1", "min": 0, "path": "VisitDetail.admitted_from_source_value", "type": [ { "code": "string" } ], "short": "Admitted From Source Value", "definition": "Admitted From Source Value" }, { "id": "VisitDetail.discharged-to-source-value", "max": "1", "min": 0, "path": "VisitDetail.discharged_to_source_value", "type": [ { "code": "string" } ], "short": "Discharged To Source Value", "definition": "Discharged To Source Value" }, { "id": "VisitDetail.discharged-to-concept-id", "max": "1", "min": 0, "path": "VisitDetail.discharged_to_concept_id", "type": [ { "code": "code" } ], "short": "Discharged To", "definition": "Use this field to determine where the patient was discharged to after a visit. This concept is part of the visit domain and can indicate if a patient was transferred to another hospital or sent to a long-term care facility, for example. It is assumed that a person is discharged to home therefore there is not a standard concept id for \"home\". Use concept id = 0 when a person is discharged to home." }, { "id": "VisitDetail.preceding-visit-detail-id", "max": "1", "min": 0, "path": "VisitDetail.preceding_visit_detail_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/VisitDetail" ] } ], "short": "Preceding Visit", "definition": "Use this field to find the visit detail that occurred for the person prior to the given visit detail record. There could be a few days or a few years in between." }, { "id": "VisitDetail.parent-visit-detail-id", "max": "1", "min": 0, "path": "VisitDetail.parent_visit_detail_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/VisitDetail" ] } ], "short": "Parent Visit", "definition": "Use this field to find the visit detail that subsumes the given visit detail record. This is used in the case that a visit detail record needs to be nested beyond the VISIT_OCCURRENCE/VISIT_DETAIL relationship." }, { "id": "VisitDetail.visit-occurrence-id", "max": "1", "min": 1, "path": "VisitDetail.visit_occurrence_id", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/uv/omop/StructureDefinition/VisitOccurrence" ] } ], "short": "Visit Occurrence", "definition": "Use this field to link the VISIT_DETAIL record to its VISIT_OCCURRENCE." } ] }, "contact": [ { "name": "HL7 International / Biomedical Research and Regulation", "telecom": [ { "value": "http://www.hl7.org/Special/committees/rcrim", "system": "url" } ] } ], "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Base" }