API
The HL7/FHIR HTTP API is designed to be simple being able to perform HTTP GET PUT DELETE methods as atomic operations generating history Bundle. The HTTP path resourceType routes HTTP call to selective module.
get "/"
post "/"
get "/$meta"
post "/$meta"
get "/metadata"
get "/_history"
get "/_diff"
get "/$export"
post "/$export"
post "/$diff"
post "/$reindex"
get "/CodeSystem/$lookup"
get "/CodeSystem/:id/$lookup"
get "/CodeSystem/$validate-code"
get "/CodeSystem/:id/$validate-code"
get "/ValueSet/$expand"
get "/ValueSet/:id/$expand"
get "/ConceptMap/$closure"
get "/ConceptMap/:id/$closure"
get "/ConceptMap/$translate"
get "/ConceptMap/:id/$translate"
post "/CodeSystem/$validate-code"
post "/:resourceType/$validate"
get "/:resourceType/:id"
put "/:resourceType/:id"
delete "/:resourceType/:id"
post "/_search"
post "/:res/_search"
post "/:comp/:id/_search"
post "/:comp/:id/:res/_search"
MODULES
HL7/FHIR R5 Protocol Modules are grouped by Protocol Profile domains each under distinct jurisdiction.
Primitive. Primitive datatypes are based on draft-07 internal definitions: instant, time, date, dateTime, base64binary, decimal, integer64, boolean, url, code, string, integer, uri, canonical, markdown, id, oid, uuid, unsignedInt, positiveInt.
General. General-purpose types represent atomic or vector non-dictionary but complex values: Address, Age, Annotation, Attachment, ContactPoint, Count, Distance, Dosage, Duration, Element, HumanName, Identifier, Meta, Money, Period, Quantity, Ratio, Range, RatioRange, Reference, SampledData, Timing, Binary.
Foundation. Infrastructural types represents OSI levels monikers and RPC data structures: Resource, DomainResource, Basic, Bundle, Composition, List, Subscription, Endpoint, OperationOutcome, CapabilityStatement.
Security. Security-sensitive types provides ABAC facilities, identity services and signature protection (CAdES, XAdES, ASIC-S, ДСТУ-4145, ДСТУ-7564): Consent, Permission, Provenance, Signature.
Terminology. Dictionary-related data types that caries most of medical international dictionaries and questionaries such as SNOMED, LOINC, MMSE, WHODAS, IQ, ICD-10/11: CodeSystem, ValueSet, ConceptMap, NamingSystem, Coding, CodeableConcept, CodeableReference, Coding, Medication, Ingredient, Substances, ProductPackageDefinition, Manufacturer.
Administration. Administrative types represents business process of the patient related services: Patient, RelatedPerson, Person, Group, Practitioner, PractitionerRole, Organization, Account, Location, HealthcareService, Schedule, Communication, Slot, SpecimenDefinition, EpisodOfCare, Encounter, EncounterHistory, Appointment, Flag, ObservationDefinition, NutritionProduct, Device, DeviceDefinition, AuditEvent, MedicationAdministration.
Clinical. Clinical data types: Condition, Procedure, CarePlan, CareTeam, Goal, DetectedIssue, ClinicalImression, DeviceRequest, DeviceDispense, DeviceUsage, DeviceAssociation, DeviceComponent, DeviceUseStatement, MarketingStatus, SampleData, MedicationRequest, MedicationDispense.
Diagnostic. Diagnostic data types: Observation, Specimen, BodyStructure, BodySite, AdverseEvent, AllergyIntollerance, Questionnaire.
Financial. Financial data types: Account, Contract, Claim, ChargeItem, EnrollmentResponse, EnrollmentRequest, Coverage, PaymentNotice, ExplanatoryOfBenefit, Invoice.
Workflow. Workflow modeling data types are mapped onto BPMN business model: ActivityDefinition, Definition, EventDefinition, MessageDefinition, PlanDefinition, ObservationDefinition, ClinicalUse, Measure, OperationDefinition, Requirements.
SCHEMA
$ curl -X POST "http://localhost:9234/List/\$validate" -d @priv/samples/List/List.json
{
"issues": [
{
"code": "invariant",
"details": "dom-6: A resource should have narrative for robust management",
"expression": "List",
"severity": "warning"
},
{
"code": "informational",
"details": "Validation is successful!",
"severity": "information"
}
],
"resourceType": "OperationOutcome"
}
FHIR/HL7 API of UKRAINE
ENT-001 Adresess (DONE) ENT-002 Allergy Intolerance (2/6)
ENT-003 Approval ENT-004 Approval Aрр
ENT-005 Care Plan ENT-006 Care Plan Activity
ENT-007 Client (DONE) ENT-008 Clinical Impression (2/4)
ENT-009 Composition (DONE) ENT-010 Condition (2/6)
ENT-011 Connection (DONE) ENT-012 Contract (DONE)
ENT-013 Declaration (DONE) ENT-014 Declaration Request (DONE)
ENT-015 Detected Issue ENT-016 Device
ENT-017 Device Association ENT-018 Device Definition
ENT-019 Device Dispence ENT-020 Device Request
ENT-021 Diagnostic Report (2/7) ENT-022 Division (DONE)
ENT-023 Employee (DONE) ENT-024 Employee Request (DONE)
ENT-025 Employee Role (DONE) ENT-026 Encounter (2/9)
ENT-027 Episode Of Care (DONE) ENT-028 Equipment (DONE)
ENT-029 Event ENT-030 Forbidden Group
ENT-031 Groups of Diagnoses (DONE) ENT-032 Healthcare Service
ENT-033 Immunization (2/6) ENT-034 Job
ENT-035 Legal Entity (DONE) ENT-036 License (DONE)
ENT-037 Medical Program (DONE) ENT-038 Medical Program Participant
ENT-039 Medical Program Provision ENT-040 Medication
ENT-041 Medication Administration ENT-042 Medication Dispense (DONE)
ENT-043 Medication Request (DONE) ENT-044 Medication Request Request (DONE)
ENT-045 Medication Statement (DONE) ENT-046 Monitor Justification
ENT-047 NHS Admin Registers ENT-048 Observation (2/6)
ENT-049 Party ENT-050 Person (DONE)
ENT-051 Person Authentication Method ENT-052 Person Confidant Relationship
ENT-053 Person Documents ENT-054 Person Merge Request
ENT-055 Person Request ENT-056 Person Verification
ENT-057 Preperson ENT-058 Procedure (2/6)
ENT-059 Risk Assessment (2/4) ENT-060 Rule Engine Rule
ENT-061 Service ENT-062 Service Request
ENT-063 Specimen (DONE) ENT-064 System Configuration
ENT-065 System Dictionary ENT-066 System Global Parameters
ENT-067 User ENT-068 User Authentication (DONE)
ENT-069 User Role ENT-070 Users Black List
ENT-071 Capitation Report ENT-072 Reimbursement Report
ENT-073 Visit ENT-074 Integrations
ENT-075 Care Team
ISO/HL7 is written in Erlang/OTP and supports RocksDB or Mnesia databases.