Skip to content

Instantly share code, notes, and snippets.

@PlasticLizard
Last active December 10, 2015 04:21
Show Gist options
  • Save PlasticLizard/29179068fe9ebb80e1b9 to your computer and use it in GitHub Desktop.
Save PlasticLizard/29179068fe9ebb80e1b9 to your computer and use it in GitHub Desktop.
Examples of a Data Model Description language for our multi-layer domain / data specs.
{
"id":"http://schemas.syncordia.com/rcm/ems_encounter",
"version":"1.0.0",
"extends": "encounter/1.0.0",
"name": "EMSEncounter",
"title":"EMS Encounter",
"description":"Represents the aspects EMS Transport needed to achieve fast, effective reimbursement",
"source_documents":{
"PCR":{"title":"Patient Care Report", "requirement":"mandatory"},
"CAD":{"title":"Computer Aided Dispatch", "requirement":"optional"},
"FaceSheet":{"title":"Face Sheet","description":"Hospital Face Sheet","requirement":"optional"},
"PCS":{"title":"Physician Certification Statement","description":"Required by medicare to establish medical necessity","requirement":"conditional"}
},
"standards":{
"NEMSIS":{
"title":"National EMS Information System",
"description":"The standard data interchange and reporting format for the EMS industry",
"encoding":"xml",
"usage":["import","export"],
"resources":[
{"title":"Official Websiste","url":"http://www.nemsis.org/index.html"}
],
"versions":{
"NEMSIS/3":{
"version":"3",
"resources":[
{"title":"V3 Website","url":"http://www.nemsis.org/v3/index.html"}
]
},
"NEMSIS/2":{
"version":"2",
"resources":[
{"title":"V2 Website","url":"http://www.nemsis.org/v2/index.html"}
]
}
}
}
},
"properties":{
"ehr_id":{
"title":"PCR Number",
"description":"The record identifier for the ePCR associated with this transport",
"standards":{
"NEMSIS/3":{"mappings":["eRecord.01"]},
"NEMSIS/2":{"mappings":["E01_01"]}
},
"source_documents":["PCR"]
},
"date_of_service":{
"description":"The date the ambulance crew first made contact with the patient, NOT the date the call was received or the unit went en route.",
"standards":{
"NEMSIS/3":{"mappings":["eTimes.07"]},
"NEMSIS/2":{"mappings":["E05_07"]}
},
"source_documents":["PCR","CAD"],
"flags":["phi","required"]
},
"incident_number":{
"title":"Incident Number",
"description":"The incident number assigned by the 911 Dispatch System",
"type":"string",
"standards":{
"NEMSIS/3":{"mappings":["eResponse.03"]},
"NEMSIS/2":{"mappings":["E02_02"]}
},
"source_documents":["PCR","CAD"],
"flags":["phi"]
},
"type_of_service":{
"title":"Type of Service",
"description":"The type of service or category of service requested of the EMS agency responding for this specific EMS event",
"type":"string",
"responses":[
"2205001 | 911 Response (Scene)",
"2205003 | Intercept",
"2205005 | Interfacility Transport",
"2205007 | Medical Transport",
"2205009 | Mutual Aid",
"2205011 | Public Assistance/Other Not Listed",
"2205013 | Standby"
],
"standards":{
"NEMSIS/3":{"mappings":["eResponse.05"]},
"NEMSIS/2":{"mappings":["E02_04"]}
}
},
"emergency_indicator":{
"title":"Emergency Indicator",
"description":"Whether or not this transport can be considered an emergency according to CMS. This field can be defaulted from the response to Response Mode, but a final determination will need to be made by reviewing the details of the transport record.",
"type":"boolean",
"standards":{
"ANSI837":{"mappings":["2400/SV109"],"notes":"Y or N"}
}
},
"primary_complaint":{
"title":"Primary Complaint",
"description":"The complaint dispatch reported to the responding unit",
"type":"string",
"responses":[
"2301001 | Abdominal Pain/Problems",
"2301003 | Allergic Reaction/Stings",
"2301005 | Animal Bite",
"2301007 | Assault",
"2301009 | Automated Crash Notification",
"2301011 | Back Pain (Non-Traumatic)",
"2301013 | Breathing Problem",
"2301015 | Burns/Explosion",
"2301017 | Carbon Monoxide/Hazmat/Inhalation/CBRN",
"2301019 | Cardiac Arrest/Death",
"2301021 | Chest Pain (Non-Traumatic)",
"2301023 | Choking",
"2301025 | Convulsions/Seizure",
"2301027 | Diabetic Problem",
"2301029 | Electrocution/Lightning",
"2301031 | Eye Problem/Injury",
"2301033 | Falls",
"2301035 | Fire",
"2301037 | Headache",
"2301039 | Healthcare Professional/Admission",
"2301041 | Heart Problems/AICD",
"2301043 | Heat/Cold Exposure",
"2301045 | Hemorrhage/Laceration",
"2301047 | Industrial Accident/Inaccessible Incident/Other Entrapments (Non-Vehicle)",
"2301049 | Medical Alarm",
"2301051 | No Other Appropriate Choice",
"2301053 | Overdose/Poisoning/Ingestion",
"2301055 | Pandemic/Epidemic/Outbreak",
"2301057 | Pregnancy/Childbirth/Miscarriage",
"2301059 | Psychiatric Problem/Abnormal Behavior/Suicide Attempt",
"2301061 | Sick Person",
"2301063 | Stab/Gunshot Wound/Penetrating Trauma",
"2301065 | Standby",
"2301067 | Stroke/CVA",
"2301069 | Traffic/Transportation Incident",
"2301071 | Transfer/Interfacility/Palliative Care",
"2301073 | Traumatic Injury",
"2301075 | Well Person Check",
"2301077 | Unconscious/Fainting/Near-Fainting",
"2301079 | Unknown Problem/Person Down",
"2301081 | Drowning/Diving/SCUBA Accident",
"2301083 | Airmedical Transport"
],
"standards":{
"NEMSIS/3":{"mappings":["eDispatch.01"], "aligned":true},
"NEMSIS/2":{"mappings":["E03_01"]}
},
"source_documents":["PCR","CAD"],
"flags":["phi","import_only"]
},
"medical_necessity":{
"title":"Medical Necessity",
"description":"The reason this transport should be considered medically necessary",
"type":"array",
"items":{
"type":"string",
"responses":[
"01 | Patient was admitted to a hospital",
"04 | Patient was moved by stretcher",
"05 | Patient was unconscious or in shock",
"06 | Patient was transported in an emergency situation",
"07 | Patient had to be physically restrained",
"08 | Patient had visible hemorrhaging",
"09 | Ambulance service was medically necessary",
"12 | Patient is confined to a bed or chair (Use code 12 to indicate patient was bedridden during transport.)"
]
},
"standards":{
"NEMSIS/3":{"mappings":["ePayment.47"], "aligned":true},
"ANSI837":{
"mappings":["2300/CRC03","2300/CRC04","2300/CRC05","2300/CRC06","2300/CRC07"],
"notes":"Set CRC01 to '07' and CRC02 to 'Y'"
}
},
"source_documents":["PCR"]
},
"transport_type":{
"title":"Transport Type",
"description":"CMS Type of Transport",
"type":"string",
"responses":[
"I | Initial Trip",
"R | Return Trip",
"T | Transfer Trip",
"X | Round Trip"
],
"standards":{
"NEMSIS/3":{"mappings":["ePayment.43"],"aligned":true}},
"ANSI837":{"mappings":["2300/CR103"], "aligned":true}
},
"source_documents":["PCR","CAD"]
},
"transport_reason":{
"title":"Transport Reason",
"description":"The CMS Ambulance Transport Reason Code for the transport",
"type":"string",
"responses":[
"A | Patient was transported to the nearest facility for care of symptoms, complaints, or both",
"B | Patient was transported for the benefit of a preferred physician",
"C | Patient was transported for the nearness of family members",
"D | Patient was transported for the care of a specialist or for availability of equipment",
"E | Patient was transferred to a Rehabilitation Facility"
],
"standards":{
"NEMSIS/3":{"mappings":["ePayment.44"], "aligned":true},
"ANSI837":{"mappings":["2300/CR104"], "aligned":true}
},
"source_documents":["PCR","CAD"]
},
"roundtrip_purpose":{
"title":"Round Trip Purpose",
"description":"Free text description providing the purpose of the round trip EMS transport based on CR109 field for CMS.",
"type":"string",
"standards":{
"NEMSIS/3":{"mappings":["ePayment.45"]},
"ANSI837":{"mappings":["2300/CR109"]}
},
"maxLength":80
},
"stretcher_purpose":{
"title":"Stretcher Purpose",
"description":"Free Text Documentation providing the reason for use of a stretcher in the EMS patient transport.",
"type":"string",
"standards":{
"NEMSIS/3":{"mappings":["ePayment.46"]},
"ANSI837":{"mappings":["2300/CR110"]}
},
"maxLength":80
},
"response_mode":{
"title":"Response Mode",
"description":"The indication whether the response was emergent or non-emergent. An emergent response is an immediate response (typically using lights and sirens).",
"type":"string",
"responses":[
"2223001 | Emergent (Immediate Response)",
"2223003 | Emergent Downgraded to Non-Emergent",
"2223005 | Non-Emergent",
"2223007 | Non-Emergent Upgraded to Emergent"
],
"standards":{
"NEMSIS/3":{"mappings":["eResponse.23"]},
"NEMSIS/2":{"mappings":["E02_20"],"notes":"NEMSIS 2 includes a larger set of possible options, which are not useful to billing. The additional detail has been moved to eResponse.24 in NEMSIS v3. When translating NEMSIS v2 documents, the responses should be mapped to one of the choices listed."}
},
"source_documents":["PCR","CAD"]
},
"unit_level_of_care":{
"title":"Unit Level of Care",
"description":"The level of care (BLS or ALS) the unit is able to provide based on the units' treatment capabilities for this EMS response.",
"type":"string",
"responses":[
"2215001 | BLS-First Responder/EMR",
"2215003 | BLS-Basic /EMT",
"2215005 | BLS-AEMT",
"2215007 | BLS-Intermediate",
"2215023 | BLS-Community Paramedicine",
"2215009 | ALS-AEMT",
"2215011 | ALS-Intermediate",
"2215013 | ALS-Paramedic",
"2215015 | ALS-Community Paramedicine",
"2215017 | ALS-Nurse",
"2215019 | ALS-Physician",
"2215021 | Specialty Critical Care"
],
"standards":{
"NEMSIS/3":{"mappings":["eResponse.15"]}
},
"flags":["import_only"]
},
"loaded_miles":{
"title":"Loaded Miles",
"description":"The loaded miles for the transport, in statute miles. For ground transports this value can be calculated from the odometer readings before and after the patient leg. For air transports this value must come from the CAD",
"type":"number",
"standards":{
"ANSI837":{"mappings":["2300/CR106"],"notes":"Default CR105 to 'DH'"}
},
"source_documents":["PCR","CAD"]
},
"sending_facility":{
"$ref":"#/definitions/facility"
},
"pickup_location":{
"$ref":"#/definitions/location"
},
"receiving_facility":{
"$ref":"#/definitions/facility"
},
"dropoff_location":{
"$ref":"#/definitions/location"
},
"transporting_unit":{
"$ref":"#/definitions/ems_unit"
},
"transport_crew":{
"type":"array",
"items":{"$ref":"#/definitions/crew_member"}
},
"patient":{
"description":"The patient who was transported",
"properties":{
"id":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.01"]}
}
},
"social_security_number":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.12"]},
"NEMSIS/2":{"mappings":["E06_10"]}
}
},
"last_name":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.02"]},
"NEMSIS/2":{"mappings":["E06_01"]}
}
},
"first_name":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.03"]},
"ANSI837":{"mappings":["E06_02"]}
}
},
"middle_initial":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.04"]},
"NEMSIS/2":{"mappings":["E06_03"]}
}
},
"date_of_birth":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.17"]},
"NEMSIS/2":{"mappings":["E06_16"]}
}
},
"gender":{
"responses":[
"9906001 | Female",
"9906003 | Male",
"9906005 | Unknown (Unable to Determine)"
],
"standards":{
"NEMSIS/3":{"mappings":["ePatient.13"]},
"NEMSIS/2":{"mappings":["E06_11"]}
}
},
"primary_address":{
"properties":{
"line1":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.05"]},
"NEMSIS/2":{"mappings":["E06_04"]}
}
},
"city":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.06"],"notes":"City codes are based on GNIS Feature Class. The primary Feature Class to use is 'Civil' with 'Populated Place' and 'Military' code as additional options."},
"NEMSIS/2":{"mappings":["E06_05"]}
}
},
"state":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.08"],"notes":"The ANSI Code Selection by text but stored as ANSI code"},
"NEMSIS/2":{"mappings":["E06_07"]}
}
},
"postal_code":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.09"]},
"NEMSIS/2":{"mappings":["E06_08"]}
}
}
}
},
"contact_information":{
"properties":{
"phone_numbers":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.18"]},
"NEMSIS/2":{"mappings":["E06_17"]}
},
"items":{
"properties":{
"phone_number":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.18"]},
"NEMSIS/2":{"mappings":["E06_17"]}
}
},
"phone_number_type":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.18#PhoneNumberType"],"notes":"9913001 - Fax, 9913007 - Pager, 9913003 - Home, 9913009 - Work, 9913005 - Mobile"},
"NEMSIS/2":{"mappings":["E06_17#PhoneNumberType"]}
}
}
}
}
},
"email_addresses":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.19"]}
},
"items":{
"properties":{
"email_address":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.19"]}
}
},
"email_address_type":{
"standards":{
"NEMSIS/3":{"mappings":["ePatient.19#EmailAddressType"],"notes":"9904001 - Personal, 9904003 - Work"}
}
}
}
}
}
}
},
"benefits_assignment":{
"title":"Benefits Assignment",
"description":"??",
"type":"string"
}
}
}
}
}
{
"id":"http://schemas.syncordia.com/rcm/encounter",
"version":"1.0.0",
"name":"Encounter",
"title":"Encounter",
"description":"Represents a healthcare service provided to a patient",
"standards":{
"CMS1500":{
"title":"CMS-1500 Paper Claim Form",
"description":"",
"encoding":"form",
"usage":["export"],
"resources":[],
"versions":{
"CMS1500":{
"version":"1",
"resources":[]
}
}
},
"ANSI":{
"title":"X12 Electronic Healthcare Transactions",
"description":"",
"encoding":"EDI",
"usage":["export"],
"resources":[],
"versions":{
"ANSI837":{
"version":"837",
"resources":[]
}
}
}
},
"properties":{
"id":{
"title":"ID",
"description":"The internal identifier of this encounter",
"type":"string"
},
"ehr_id":{
"title":"EHR ID",
"description":"The record ID of the Electronic Health Record associated with this identifier",
"type":"string",
"flags":["required","phi"]
},
"customer":{
"title":"Customer",
"description":"The customer that performed the service associated with this encounter",
"flags":["required"],
"type":"object",
"properties":{
"id":{
"title":"ID",
"description":"The internal identifier of the customer",
"type":"string",
"flags":["required"]
},
"name":{
"title":"Customer Name",
"description":"The name of the customer who provides the medical services that will be billed",
"type":"string",
"flags":["required"]
}
}
},
"date_of_service":{
"title":"DOS",
"description":"The date the service was provided to the patient",
"type":"string",
"format":"date-time",
"standards":{
"CMS1500":{"mappings":["24A"]},
"ANSI837":{"mappings":["DTP03"], "notes":"Set DTP01 to 472 and DTP02 to D8"}
},
"flags":["required","phi"]
},
"patient":{
"extends":"#/definitions/person",
"title":"Patient",
"description":"The patient who received service as part of this encounter",
"flags":["required"],
"properties":{
"id":{
"title":"Patient ID",
"description":"The internal identifier of the patient",
"type":"string",
"standards":{
"CMS1500":{"mappings":["26"]},
"ANSI837":{"mappings":["2300/CLM01"]}
}
},
"last_name":{
"standards":{
"CMS1500":{"mappings":["2"]},
"ANSI837":{"mappings":["2010BA/NM103"]}
}
},
"first_name":{
"standards":{
"CMS1500":{"mappings":["2"]},
"ANSI837":{"mappings":["2010BA/NM104"]}
}
},
"middle_initial":{
"standards":{
"CMS1500":{"mappings":["2"]},
"ANSI837":{"mappings":["2010BA/NM105"]}
}
},
"date_of_birth":{
"standards":{
"CMS1500":{"mappings":["3"]},
"ANSI837":{"mappings":["2010BA/DMG02"]}
}
},
"gender":{
"standards":{
"CMS1500":{"mappings":["3"]},
"ANSI837":{"mappings":["2010BA/DMG03"]}
}
},
"primary_address":{
"properties":{
"line1":{
"standards":{
"CMS1500":{"mappings":["5"]},
"ANSI837":{"mappings":["2010BA/N301"]}
}
},
"line2":{
"standards":{
"CMS1500":{"mappings":["5"]},
"ANSI837":{"mappings":["2010BA/N302"]}
}
},
"city":{
"standards":{
"CMS1500":{"mappings":["5"]},
"ANSI837":{"mappings":["2010BA/N401"]}
}
},
"state":{
"standards":{
"CMS1500":{"mappings":["5"]},
"ANSI837":{"mappings":["2010BA/N402"]}
}
},
"postal_code":{
"standards":{
"CMS1500":{"mappings":["5"]},
"ANSI837":{"mappings":["2010BA/N403"]}
}
}
}
},
"benefits_assignment":{
"title":"Benefits Assignment",
"description":"??",
"type":"string"
}
}
},
"referring_provider":{
"title":"Referring Provider",
"description":"The provider who referred this encounter to the customer",
"$ref":"#/definitions/provider"
},
"related_cause":{
"title":"Related Cause",
"description":"??",
"type":"string"
},
"patient_release":{
"title":"Patient Release",
"description":"??",
"type":"string"
},
"benefits_assignment":{
"title":"Benefits Assignment",
"description":"??",
"type":"string"
},
"accept_assignment":{
"title":"Accept Assignment",
"description":"??",
"type":"string"
},
"place_of_service":{
"title":"Place of Service",
"description":"??",
"type":"string"
}
},
"definitions":{
"person":{
"properties":{
"social_security_number":{
"title":"SSN",
"description":"Social Security Number",
"type":"integer"
},
"first_name":{
"title":"First Name",
"type":"string"
},
"middle_initial":{
"title":"Middle Initial",
"type":"string",
"maxLength":1,
"default":""
},
"last_name":{
"title":"Last Name",
"description":"Family name",
"type":"string"
},
"generation":{
"title":"Generation",
"description":"Generational title",
"type":"string",
"responses":["","jr","sr","I","II","III","IV"],
"default":""
},
"date_of_birth":{
"title":"DOB",
"description":"Date of Birth",
"type:":"string",
"format":"date-time"
},
"gender":{
"title":"Gender",
"description":"Gender",
"type":"string"
},
"primary_address":{
"title":"Primary Address",
"description":"Primary home address",
"$ref":"#/definitions/address"
},
"alternative_address":{
"title":"Alternative Address",
"description":"Alternative home address",
"$ref":"#/definitions/address"
},
"contact_information":{
"title":"Contact Information",
"$ref":"#/definitions/contact_info"
}
}
},
"address":{
"properties":{
"line1":{
"title":"Address 1",
"type":"string"
},
"line2":{
"title":"Address 2",
"type":"string"
},
"city":{
"title":"City",
"type":"string"
},
"state":{
"title":"State",
"type":"string"
},
"postal_code":{
"title":"Zip",
"type":"string"
}
}
},
"contact_info":{
"properties":{
"phone_numbers":{
"type":"array",
"items":{
"properties":{
"phone_number":{
"type":"string"
},
"phone_number_type":{
"type":"string"
}
}
}
},
"email_addresses":{
"type":"array",
"items":{
"properties":{
"email_address":{
"type":"string"
},
"email_address_type":{
"type":"string"
}
}
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment