├── fhir ├── www │ ├── qewd-monitor │ └── ewd-client.js ├── registries │ └── server.js └── apis │ ├── read │ └── onMSResponse.js │ ├── metadata │ └── onMSResponse.js │ ├── searchset │ └── onMSResponse.js │ └── create │ └── onMSResponse.js ├── index ├── www │ ├── qewd-monitor │ └── ewd-client.js └── apis │ ├── query │ └── onMSResponse.js │ ├── top │ └── onMSResponse.js │ ├── create │ └── onMSResponse.js │ └── delete │ └── onMSResponse.js ├── repo ├── www │ ├── qewd-monitor │ └── ewd-client.js └── apis │ ├── batch │ └── onMSResponse.js │ ├── delete │ └── onMSResponse.js │ ├── search │ └── onMSResponse.js │ ├── batch-index │ └── onMSResponse.js │ └── read │ └── onMSResponse.js ├── search ├── www │ ├── qewd-monitor │ └── ewd-client.js └── apis │ ├── add │ └── onMSResponse.js │ ├── sort │ └── onMSResponse.js │ ├── create │ └── onMSResponse.js │ ├── paginate │ └── onMSResponse.js │ ├── update │ └── onMSResponse.js │ ├── complete │ └── onMSResponse.js │ ├── include │ └── onMSResponse.js │ ├── results │ └── onMSResponse.js │ └── cache-query │ └── onMSResponse.js ├── tests ├── www │ ├── qewd-monitor │ └── ewd-client.js └── apis │ ├── searchAdd │ └── index.js │ ├── repoBatchRead │ └── index.js │ ├── repoIndexQuery │ └── index.js │ ├── repoSearch │ └── index.js │ ├── searchCreate │ └── index.js │ ├── searchInclude │ └── index.js │ ├── searchRead │ └── index.js │ ├── searchSort │ └── index.js │ ├── searchUpdate │ └── index.js │ ├── fhirResponseTest │ └── index.js │ ├── searchRevInclude │ └── index.js │ ├── repoCreate │ └── index.js │ ├── repoRead │ ├── index.js │ └── onMSResponse.js │ ├── repoIndexCreate │ └── index.js │ └── repoIndexRead │ └── index.js ├── capabilities ├── www │ ├── qewd-monitor │ └── ewd-client.js └── apis │ └── read │ └── onMSResponse.js ├── orchestrator ├── www │ ├── qewd-monitor │ └── ewd-client.js ├── addMiddleware.js ├── modules │ ├── server.js │ └── responders.js └── onWSResponse.js ├── publisher ├── www │ ├── qewd-monitor │ └── ewd-client.js └── apis │ ├── modules │ └── notifier.js │ ├── publish │ ├── index.js │ └── onMSResponse.js │ ├── notify │ ├── index.js │ └── onMSResponse.js │ └── evaluate │ ├── index.js │ └── onMSResponse.js ├── repoadapter ├── www │ ├── qewd-monitor │ └── ewd-client.js ├── modules │ └── urlBuilder.js └── apis │ ├── delete │ └── onMSResponse.js │ ├── respond │ └── onMSResponse.js │ ├── search │ └── onMSResponse.js │ ├── searchset │ └── onMSResponse.js │ ├── read │ └── onMSResponse.js │ └── create │ └── onMSResponse.js ├── responder ├── www │ ├── qewd-monitor │ └── ewd-client.js ├── modules │ └── responder.js └── apis │ └── create │ └── index.js ├── authentication ├── www │ ├── qewd-monitor │ └── ewd-client.js ├── modules │ └── crypto.js └── apis │ ├── token │ └── onMSResponse.js │ └── validate │ └── onMSResponse.js ├── install_modules.json ├── api-tests └── roqr-resource-import │ └── docker-compose.yml ├── LICENSE ├── .gitignore ├── configuration └── config.json ├── docker-compose.yml └── validator └── apis └── validate └── index.js /fhir/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /index/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /repo/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /search/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /tests/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /capabilities/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /orchestrator/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /publisher/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /repoadapter/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /responder/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /authentication/www/qewd-monitor: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/qewd-monitor/www -------------------------------------------------------------------------------- /fhir/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /index/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /repo/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /search/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /tests/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /capabilities/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /orchestrator/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /publisher/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /repoadapter/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /responder/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /authentication/www/ewd-client.js: -------------------------------------------------------------------------------- 1 | /opt/qewd/node_modules/ewd-client/lib/proto/ewd-client.js -------------------------------------------------------------------------------- /install_modules.json: -------------------------------------------------------------------------------- 1 | [ 2 | "btoa", 3 | "crypto-js", 4 | "moment", 5 | "traverse", 6 | "underscore", 7 | "utf8" 8 | ] -------------------------------------------------------------------------------- /orchestrator/addMiddleware.js: -------------------------------------------------------------------------------- 1 | module.exports = function(bodyParser, app) { 2 | app.use(bodyParser.json({limit: '10mb'})); 3 | app.use(bodyParser.json({type: 'application/fhir+json'})); 4 | app.use(bodyParser.urlencoded({limit: '10mb', extended: true})); 5 | }; -------------------------------------------------------------------------------- /api-tests/roqr-resource-import/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | services: 3 | 4 | newman: 5 | image: postman/newman:ubuntu 6 | container_name: newman 7 | volumes: 8 | - ~/Repos/open-source-fhir-server/api-tests/roqr-resource-import:/etc/newman 9 | command: 10 | run roqr-resource-import-postman-collection.json -e roqr-tests-postman-environment.json --delay-request 100 --reporters cli,json --reporter-json-export roqr-resource-import-tests-results.json -k -------------------------------------------------------------------------------- /authentication/modules/crypto.js: -------------------------------------------------------------------------------- 1 | var CryptoJS = require('crypto-js'); 2 | 3 | var crypto = { 4 | key:'9H?RB=8srH?MyePwdzK&',//TODO: ENTER YOUR OWN SUPER TOP SECRET KEY HERE... 5 | encrypt:function(plainText) { 6 | return CryptoJS.AES.encrypt(plainText,this.key).toString(); 7 | }, 8 | decrypt:function(cipherText) { 9 | var bytes = CryptoJS.AES.decrypt(cipherText,this.key); 10 | return bytes.toString(CryptoJS.enc.Utf8); 11 | } 12 | } 13 | 14 | module.exports = { 15 | crypto 16 | } -------------------------------------------------------------------------------- /orchestrator/modules/server.js: -------------------------------------------------------------------------------- 1 | var server = { 2 | host:'localhost', 3 | isProxied:false, 4 | httpPort:'8080', 5 | httpsPort:'8443', 6 | path:'/fhir/stu3/', 7 | setResourceLocation:function(req,res,resourceType,resourceId) { 8 | //TODO: Version headers... ETag etc... 9 | var location = (this.isProxied ? 'https' : 'http') + '://' + this.host + ':' + 10 | (this.isProxied ? this.httpPort : this.httpsPort) + this.path; 11 | 12 | res.set('Location', location + resourceType + '/'+ resourceId); 13 | } 14 | } 15 | 16 | module.exports = { 17 | server 18 | } -------------------------------------------------------------------------------- /responder/modules/responder.js: -------------------------------------------------------------------------------- 1 | var uuid = require('uuid'); 2 | 3 | var responder = { 4 | createErrorResponse:function(error) { 5 | var operationOutcome = this.createOperationOutcome(error); 6 | var httpStatusError = this.createHttpErrorStatus(error); 7 | 8 | return { 9 | operationOutcome, 10 | httpStatusError 11 | } 12 | }, 13 | createOperationOutcome:function(error) { 14 | return { 15 | resourceType: 'OperationOutcome', 16 | id: uuid.v4(), 17 | issue: [ 18 | { 19 | code: error.code || 'processing', 20 | severity: error.severity || 'fatal', 21 | diagnostics: error.diagnostics || error.stack 22 | } 23 | ] 24 | }; 25 | }, 26 | createHttpErrorStatus:function(error) { 27 | return { 28 | error: error.text, 29 | status: { code: error.status } 30 | }; 31 | } 32 | } 33 | 34 | module.exports = { 35 | responder 36 | } -------------------------------------------------------------------------------- /responder/apis/create/index.js: -------------------------------------------------------------------------------- 1 | var _ = require('underscore'); 2 | 3 | var responder = require('../../modules/responder.js').responder; 4 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 5 | 6 | module.exports = function(args,finished) { 7 | console.log("RESPONDER CREATE: " + JSON.stringify(args,null,2)); 8 | 9 | var request = args.req.body; 10 | request.pipeline = request.pipeline || []; 11 | request.pipeline.push("responder"); 12 | 13 | try 14 | { 15 | //if request is an error, return operation outcome and http error status, else return data as is... 16 | //Todo: validate contents of request... 17 | if(request.data.error) 18 | { 19 | //Convert data to an operation outcome... 20 | finished(responder.createErrorResponse(request.data.error)); 21 | } else { 22 | finished(request.data); 23 | } 24 | } 25 | catch(ex) 26 | { 27 | finished(dispatcher.error.serverError(request, ex.stack || ex.toString())); 28 | } 29 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 NHSX 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /orchestrator/modules/responders.js: -------------------------------------------------------------------------------- 1 | var server = require('./server.js').server; 2 | 3 | var responders = { 4 | fhir: 5 | { 6 | get: function(msg, req, res) 7 | { 8 | if(msg.token) delete msg.token 9 | 10 | res.set('Content-Length', msg.length); 11 | res.status(200) 12 | res.send(msg); 13 | }, 14 | post: function(msg, req, res) 15 | { 16 | if(msg.token) delete msg.token 17 | 18 | res.status(201); 19 | res.set('Content-Length', msg.length); 20 | server.setResourceLocation(req,res,msg.resourceType,msg.id); 21 | res.send(msg); 22 | }, 23 | put: function(msg, req, res) 24 | { 25 | if(msg.token) delete msg.token 26 | 27 | res.status(204); 28 | res.send(); 29 | }, 30 | delete: function(msg, req, res) 31 | { 32 | if(msg.token) delete msg.token 33 | 34 | res.status(202);//Non commital (lol) 35 | res.send(); 36 | } 37 | } 38 | } 39 | 40 | module.exports = { 41 | responders 42 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # next.js build output 61 | .next 62 | .DS_Store 63 | 64 | #newman test reports 65 | api-tests/roqr-resource-import/newman 66 | -------------------------------------------------------------------------------- /repoadapter/modules/urlBuilder.js: -------------------------------------------------------------------------------- 1 | var _ = require('underscore'); 2 | 3 | var urlBuilder = { 4 | createUrlFromQuery:function(resourceType, queryParameters) { 5 | /* 6 | NOTE: Query String Key/Value pairs are grouped by Key (so, _include=x&_include=y will be present in query params as "_include":["x","y"]) 7 | This could cause problems when creating, for example, link resources, especially self, as the link.url will be incorrect (_include=x,y) 8 | */ 9 | var rawSearchUrl = resourceType + "?"; 10 | 11 | for(key in queryParameters) 12 | { 13 | var value = queryParameters[key]; 14 | if(value !== '*') 15 | { 16 | if(_.isArray(value)) 17 | { 18 | value.forEach(function(item) { 19 | rawSearchUrl = rawSearchUrl + key + "=" + item + "&"; 20 | }); 21 | } 22 | else 23 | { 24 | rawSearchUrl = rawSearchUrl + key + "=" + value + "&"; 25 | } 26 | } 27 | } 28 | //Strip off trailing & 29 | rawSearchUrl = rawSearchUrl.substring(0,rawSearchUrl.length-1); 30 | 31 | return rawSearchUrl; 32 | } 33 | } 34 | 35 | module.exports = { 36 | urlBuilder 37 | } -------------------------------------------------------------------------------- /orchestrator/onWSResponse.js: -------------------------------------------------------------------------------- 1 | var responders = require('./modules/responders.js').responders; 2 | 3 | module.exports = function(req, res, next) { 4 | var msg = res.locals.message || {error: 'Internal server error'}; 5 | var code, status; 6 | if (msg.httpStatusError || (msg.data && msg.data.error)) { 7 | code = 500; 8 | status = (msg.httpStatusError && msg.httpStatusError.status) || (msg.data && msg.data.error.status); 9 | if(status && status.code) code = status.code; 10 | if(typeof msg.operationOutcome !== 'undefined') 11 | { 12 | msg = msg.operationOutcome; 13 | } 14 | else 15 | { 16 | delete msg.status; 17 | delete msg.restMessage; 18 | delete msg.ewd_application; 19 | delete msg.path; 20 | delete msg.token; 21 | } 22 | res.set('Content-Length', msg.length); 23 | res.status(code).send(msg); 24 | } else { 25 | //Send Response... 26 | if(req.originalUrl.indexOf("fhir") > -1) { 27 | var responseHandlers = responders["fhir"]; 28 | var responseHandler = responseHandlers[req.method.toLowerCase()]; 29 | res.type('application/fhir+json'); 30 | responseHandler(msg, req, res); 31 | } else if(req.originalUrl.indexOf("token") > -1) { 32 | res.send(msg); 33 | } else { 34 | delete msg.token; 35 | res.send(msg); 36 | } 37 | } 38 | next(); 39 | }; -------------------------------------------------------------------------------- /fhir/registries/server.js: -------------------------------------------------------------------------------- 1 | var server = { 2 | url:"http://localhost:8080/fhir/stu3/", 3 | version:"1.0.0", 4 | documentation:"https://github.com/nhsx/open-source-fhir-server", 5 | resourceProfileBase:"https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect", 6 | resourceProfileVersion:"1", 7 | sources:[ 8 | { 9 | target:'repo', 10 | isLocal:true, 11 | allowIdOnCreate:true, 12 | maxSearchResultSetSize:1000, //This is the maximum number of search results any query will return... 13 | maxInitialSearchResultSetSize:50,//This is the threshold at which the server will return first set of results before sending the query off for completion)... 14 | defaultPageSize:10, 15 | tag:{ 16 | system:'https://roqr.fhir.co.uk/source', 17 | code:'local-repo', 18 | display:'ROQR Local FHIR Store/Repository' 19 | } 20 | }, 21 | { 22 | target:'ccri', 23 | isLocal:false, 24 | dispatchable:true, 25 | resourceIdentifier:{ 26 | system:'https://data.developer.nhs.uk/ccri-fhir/id' 27 | }, 28 | tag:{ 29 | system:'https://roqr.fhir.co.uk/source', 30 | code:'ccri', 31 | display:'NHS Care Connect Reference Implementation' 32 | }, 33 | url:'https://data.developer.nhs.uk/ccri-fhir/STU3' 34 | } 35 | ] 36 | } 37 | 38 | module.exports = { 39 | server 40 | } -------------------------------------------------------------------------------- /configuration/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "qewd_up": true, 3 | "microservices": [ 4 | { 5 | "name": "authentication", 6 | "qewd": { 7 | "serverName": "ROQR Authentication Service", 8 | "poolSize":4 9 | } 10 | }, 11 | { 12 | "name": "tests", 13 | "qewd": { 14 | "serverName": "ROQR Test API Service" 15 | } 16 | }, 17 | { 18 | "name": "repoadapter", 19 | "qewd": { 20 | "serverName": "ROQR FHIR Request Adapter Service", 21 | "poolSize":4 22 | } 23 | }, 24 | { 25 | "name": "repo", 26 | "qewd": { 27 | "serverName": "ROQR Local FHIR Repository Service", 28 | "poolSize":4 29 | } 30 | }, 31 | { 32 | "name": "index", 33 | "qewd": { 34 | "serverName": "ROQR Local FHIR Resource Index Service", 35 | "poolSize":4 36 | } 37 | }, 38 | { 39 | "name": "publisher", 40 | "qewd": { 41 | "serverName": "ROQR Subscription Notification Service", 42 | "poolSize":4 43 | } 44 | }, 45 | { 46 | "name": "search", 47 | "qewd": { 48 | "serverName": "ROQR Search Service", 49 | "poolSize":4 50 | } 51 | }, 52 | { 53 | "name": "fhir", 54 | "qewd": { 55 | "serverName": "ROQR FHIR API Service", 56 | "poolSize":4 57 | } 58 | }, 59 | { 60 | "name": "responder", 61 | "qewd": { 62 | "serverName": "ROQR Responder Service", 63 | "poolSize":4 64 | } 65 | }, 66 | { 67 | "name": "capabilities", 68 | "qewd": { 69 | "serverName": "ROQR Capability Service", 70 | "poolSize":4 71 | } 72 | } 73 | ], 74 | "jwt": { 75 | "secret": "Uk9RUiBzdGFuZHMgZm9yIGZoaVIgT24gUWV3ZCBhbmQgZG9ja2VS" 76 | } 77 | } -------------------------------------------------------------------------------- /publisher/apis/modules/notifier.js: -------------------------------------------------------------------------------- 1 | var request = require('request'); 2 | 3 | var notifier = { 4 | 'rest-hook':function(subscriber, subject, callback) 5 | { 6 | var requestParameters = { 7 | uri:subscriber.channel.endpoint, 8 | method:'POST', 9 | body:JSON.stringify(subject) 10 | }; 11 | //Parse the Subscription headers... 12 | requestParameters.headers = {}; 13 | subscriber.channel.header.forEach(function(header) { 14 | var keyValuePair = header.split(':'); 15 | var key = keyValuePair[0]; 16 | var value = keyValuePair[1]; 17 | requestParameters.headers[key]=value; 18 | }); 19 | //Add the content/accept headers... 20 | requestParameters.headers["accept"] = subscriber.channel.payload; 21 | requestParameters.headers["content-type"] = subscriber.channel.payload; 22 | //Send to rest hook... 23 | request(requestParameters, function(error,response,body) { 24 | if(response.statusCode !== 200) { 25 | callback({error: 'Unable to send rest-hook notification: ' + error + ' ' + body}) 26 | } else { 27 | callback(false); 28 | } 29 | }); 30 | }, 31 | notify:function(subscriber, subject, callback) { 32 | var notifier = this[subscriber.channel.type] || undefined 33 | if(typeof notifier !== 'undefined') { 34 | //Copy any tags in this subscription to meta._tag in the subject... 35 | if(typeof subscriber.tag !== 'undefined' && _.isArray(subscriber.tag) && subscriber.tag.length > 0) 36 | { 37 | subject.meta.tag = subject.meta.tag || []; 38 | subscriber.tag.forEach(function(t) { 39 | subject.meta.tag.push(t); 40 | }); 41 | } 42 | notifier(subscriber,subject,callback); 43 | } else { 44 | callback({error: 'Unsupported channel type ' + subscriber.channel.type}); 45 | }; 46 | } 47 | } 48 | 49 | module.exports = { 50 | notifier 51 | } -------------------------------------------------------------------------------- /publisher/apis/publish/index.js: -------------------------------------------------------------------------------- 1 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 2 | var ssp = require('../modules/subscriptionServicePipeline.js').subscriptionServicePipeline; 3 | 4 | module.exports = function(args, finished) 5 | { 6 | //Create modules 7 | //The publisherServicePipeline 8 | //Service Pipeline: 9 | /* 10 | {path: "/services/v1/repo/index/query"},//Fetch subs resources (Criteria=resourceType) 11 | {path: "/services/v1/search/results"}, 12 | {path: "/services/v1/repo/batch"}, 13 | //Forward batch to process... 14 | 15 | {path: process}//For each subs build batch of index queries and send (add subs endpoint to data object), 16 | forward results to notify (this will give us the id of the result or no result for each query) 17 | {path: notify} 18 | where query result length === 1 instantiate a REQUEST HTTP object and forward to endpoint (create notifier type handlers but for now only REST) 19 | 20 | */ 21 | 22 | console.log("Publisher Publish: " + JSON.stringify(args,null,2)); 23 | 24 | var request = args.req.body; 25 | request.pipeline = request.pipeline || []; 26 | request.pipeline.push("publish"); 27 | 28 | try 29 | { 30 | var resourceId = request.resourceId || undefined; 31 | //Return error object to be sent to responder service in ms response... 32 | if (typeof resourceId === 'undefined' || resourceId === '') { 33 | finished(dispatcher.error.badRequest(request,'processing', 'fatal', 'Publisher: resource id cannot be empty or undefined')); 34 | } 35 | 36 | var resourceType = request.resource || undefined; 37 | if (typeof resourceType === 'undefined' || resourceType === '') { 38 | finished(dispatcher.error.badRequest(request,'processing', 'fatal', 'Publisher: resource type cannot be empty or undefined')); 39 | } 40 | //Don't notify if a subscription has changed/been created? 41 | if(resourceType === 'Subscription') { 42 | //Exit pipeline... 43 | finished({publish:false}); 44 | } 45 | //Before forwarding, replace the routes and registry in the request... 46 | ssp.configureSubscriptionSearchRequest(request); 47 | //Fetch the subscription query for attaching to the outbound request... 48 | var subscriptionQuery = ssp.getSubscriptionQuery(request); 49 | //Dispatch... 50 | finished(dispatcher.getResponseMessage(request,subscriptionQuery)); 51 | } 52 | catch (ex) { 53 | finished(dispatcher.error.serverError(request, ex.stack || ex.toString())); 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /publisher/apis/notify/index.js: -------------------------------------------------------------------------------- 1 | var _ = require('underscore'); 2 | 3 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 4 | var notifier = require('../modules/notifier.js').notifier; 5 | 6 | module.exports = function(args, finished) 7 | { 8 | console.log("Publisher Notify: " + JSON.stringify(args,null,2)); 9 | 10 | var request = args.req.body; 11 | request.pipeline = request.pipeline || []; 12 | request.pipeline.push("publish"); 13 | 14 | try 15 | { 16 | 17 | var query = request.data.query; 18 | if(typeof query === 'undefined' || _.isEmpty(query) || !_.isArray(query)) { 19 | finished(dispatcher.error.badRequest(request,'processing', 'fatal', 'Notify: Invalid query - query cannot be empty or undefined and must be an array')); 20 | } 21 | 22 | var subscribers = request.subscribers || undefined; 23 | if (typeof subscribers === 'undefined' || _.isEmpty(subscribers) || !_.isArray(subscribers)) { 24 | finished(dispatcher.error.badRequest(request,'processing', 'fatal', 'Notify: Invalid subscribers - subscribers cannot be empty or undefined and must be an array')); 25 | } 26 | 27 | var notificationCount = subscribers.length; 28 | subscribers.forEach(function(subscriber) { 29 | query = query[subscriber.resultsIndex]; 30 | if(typeof query.results !== 'undefined' && _.isArray(query.results) && query.results.length > 0) 31 | { 32 | var subscription = subscriber.subscription; 33 | var replies = 0 34 | //This subject matches this subscription... 35 | notifier.notify(subscription, request.subject, function(result) { 36 | if(result) { 37 | //Update subscription.error... 38 | subscription.error = result.error; 39 | subscriber.noftificationSent = false; 40 | } else { 41 | subscriber.noftificationSent = true; 42 | } 43 | replies++; 44 | if(replies === subscribers.length) 45 | { 46 | var subscribers = request.subscribers; 47 | //No longer require the context so ditch everything from request apart from subscribers and updated subscriptions... 48 | delete request.bundleType; 49 | delete request.subject; 50 | delete request.resourceType; 51 | delete request.registry; 52 | delete request.subscribers; 53 | 54 | finished(dispatcher.getResponseMessage(request, {results:subscribers})); 55 | } 56 | }); 57 | } 58 | }); 59 | 60 | } catch (ex) { 61 | finished(dispatcher.error.serverError(request, ex.stack || ex.toString())); 62 | } 63 | 64 | 65 | 66 | 67 | } -------------------------------------------------------------------------------- /publisher/apis/evaluate/index.js: -------------------------------------------------------------------------------- 1 | var _ = require('underscore'); 2 | 3 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 4 | var ssp = require('../modules/subscriptionServicePipeline.js').subscriptionServicePipeline; 5 | 6 | module.exports = function(args, finished) 7 | { 8 | console.log("Publisher Evaluate: " + JSON.stringify(args,null,2)); 9 | 10 | var request = args.req.body; 11 | request.pipeline = request.pipeline || []; 12 | request.pipeline.push("publish"); 13 | 14 | try 15 | { 16 | var bundle = request.data.bundle || undefined; 17 | //Return error object to be sent to responder service in ms response... 18 | if (typeof bundle === 'undefined' || _.isEmpty(bundle)) { 19 | finished(dispatcher.error.badRequest(request,'processing', 'fatal', 'Evaluate: subscription bundle cannot be empty or undefined')); 20 | } 21 | 22 | var subject = request.subject || undefined; 23 | //Return error object to be sent to responder service in ms response... 24 | if (typeof subject === 'undefined' || _.isEmpty(subject)) { 25 | finished(dispatcher.error.badRequest(request,'processing', 'fatal', 'Evaluate: No subject to evaluate - subject cannot be empty or undefined')); 26 | } 27 | 28 | if(typeof subject.resource === 'undefined' || _.isEmpty(subject)) { 29 | finished(dispatcher.error.badRequest(request,'processing', 'fatal', 'Evaluate: No subject to evaluate - subject cannot be empty or undefined')); 30 | } 31 | 32 | //Only continue if active subscriptions were found... 33 | var entries = bundle.entry || undefined; 34 | if(typeof entries !== 'undefined' && (_.isArray(entries) && entries.length > 0)) { 35 | //Just a sanity check to ensure that only active subscriptions are processed... 36 | var activeSubs = _.filter(entries, function(entry) { 37 | return entry.resource.status === 'active'; 38 | }); 39 | if(typeof activeSubs === 'undefined' || activeSubs.length === 0) { 40 | //Just exit the pipeline here as nothing to be done... 41 | finished({publish:false}); 42 | } 43 | else 44 | { 45 | //Before forwarding to search services, configure the request... 46 | ssp.configureSubscriptionEvaluateRequest(request); 47 | //Fetch the search query(ies) that require evaluating... 48 | var subscriptionQuery = ssp.getSubscriptionEvaluationQuery(request); 49 | //Dispatch... 50 | finished(dispatcher.getResponseMessage(request,subscriptionQuery)); 51 | } 52 | } 53 | } catch (ex) { 54 | finished(dispatcher.error.serverError(request, ex.stack || ex.toString())); 55 | } 56 | 57 | 58 | 59 | 60 | } -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | 4 | orchestrator: 5 | image: rtweed/qewd-server 6 | container_name: orchestrator 7 | volumes: 8 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 9 | ports: 10 | - 8080:8080 11 | 12 | fhir: 13 | image: rtweed/qewd-server 14 | container_name: fhir 15 | volumes: 16 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 17 | environment: 18 | - microservice=fhir 19 | ports: 20 | - 8081:8080 21 | 22 | authentication: 23 | image: rtweed/qewd-server 24 | container_name: authentication 25 | volumes: 26 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 27 | environment: 28 | - microservice=authentication 29 | ports: 30 | - 9000:8080 31 | 32 | repoadapter: 33 | image: rtweed/qewd-server 34 | container_name: repoadapter 35 | volumes: 36 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 37 | environment: 38 | - microservice=repoadapter 39 | ports: 40 | - 9001:8080 41 | 42 | repo: 43 | image: rtweed/qewd-server 44 | container_name: repo 45 | volumes: 46 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 47 | environment: 48 | - microservice=repo 49 | ports: 50 | - 9002:8080 51 | 52 | index: 53 | image: rtweed/qewd-server 54 | container_name: index 55 | volumes: 56 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 57 | environment: 58 | - microservice=index 59 | ports: 60 | - 9003:8080 61 | 62 | search: 63 | image: rtweed/qewd-server 64 | container_name: search 65 | volumes: 66 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 67 | environment: 68 | - microservice=search 69 | ports: 70 | - 9004:8080 71 | 72 | responder: 73 | image: rtweed/qewd-server 74 | container_name: responder 75 | volumes: 76 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 77 | environment: 78 | - microservice=responder 79 | ports: 80 | - 9005:8080 81 | 82 | publisher: 83 | image: rtweed/qewd-server 84 | container_name: publisher 85 | volumes: 86 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 87 | environment: 88 | - microservice=publisher 89 | ports: 90 | - 9006:8080 91 | 92 | capabilities: 93 | image: rtweed/qewd-server 94 | container_name: capabilities 95 | volumes: 96 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 97 | environment: 98 | - microservice=capabilities 99 | ports: 100 | - 9007:8080 101 | 102 | tests: 103 | image: rtweed/qewd-server 104 | container_name: tests 105 | volumes: 106 | - ~/Repos/open-source-fhir-server:/opt/qewd/mapped 107 | environment: 108 | - microservice=tests 109 | ports: 110 | - 6666:8080 111 | 112 | #roqr-dev-proxy: 113 | #image: synanetics/roqr-dev-proxy 114 | #container_name: roqr-dev-proxy 115 | #ports: 116 | #- 8082:80 117 | #- 8443:443 -------------------------------------------------------------------------------- /tests/apis/searchAdd/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/repoBatchRead/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/repoIndexQuery/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/repoSearch/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/searchCreate/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/searchInclude/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/searchRead/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/searchSort/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/searchUpdate/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/fhirResponseTest/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/searchRevInclude/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/repoCreate/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args,finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/repoRead/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args,finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /validator/apis/validate/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args, finished) { 33 | finished(args); 34 | }; -------------------------------------------------------------------------------- /tests/apis/repoIndexCreate/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args,finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /tests/apis/repoIndexRead/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | module.exports = function(args,finished) { 33 | finished(args); 34 | } -------------------------------------------------------------------------------- /authentication/apis/token/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 32 | 33 | module.exports = function(message, jwt, forward, sendBack) { 34 | console.log("Token Service CREATE message in: " + JSON.stringify(message,null,2)); 35 | console.log("JWT: " + jwt); 36 | return false; 37 | } -------------------------------------------------------------------------------- /tests/apis/repoRead/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var uuid = require('uuid'); 33 | var moment = require('moment'); 34 | 35 | module.exports = function(message, jwt, forward, sendBack) { 36 | console.log("repo READ"); 37 | console.log("repo READ message in: " + JSON.stringify(message,null,2)); 38 | return false; 39 | } 40 | -------------------------------------------------------------------------------- /index/apis/query/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("index QUERY in: " + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /index/apis/top/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("index TOP in: " + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /index/apis/create/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("index CREATE message in: " + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /index/apis/delete/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("index DELETE message in: " + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /repo/apis/batch/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("Repo BATCH message in: + " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /repo/apis/delete/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("repo DELETE message in: " + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /repo/apis/search/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("repo SEARCH message in: " + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /search/apis/add/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("repo ADD message in: " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /search/apis/sort/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("search SORT message in: " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /fhir/apis/read/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('FHIR API service READ message in: ' + JSON.stringify(message)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } 39 | -------------------------------------------------------------------------------- /search/apis/create/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("search CREATE message in: " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /search/apis/paginate/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 32 | 33 | module.exports = function(message, jwt, forward, sendBack) { 34 | console.log("search PAGINATE message in: " + JSON.stringify(message, null, 2)); 35 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 36 | if(!dispatched) return false; 37 | } -------------------------------------------------------------------------------- /search/apis/update/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("search UPDATE message in: " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /repo/apis/batch-index/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("Repo BATCH message in: + " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /search/apis/complete/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("search COMPLETE message in: " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /search/apis/include/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("search INCLUDE message in: " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /search/apis/results/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("search RESULTS message in: " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /capabilities/apis/read/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('Capabilities service message in: ' + JSON.stringify(message)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } 39 | -------------------------------------------------------------------------------- /fhir/apis/metadata/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('FHIR API service METADATA message in: ' + JSON.stringify(message)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } 39 | -------------------------------------------------------------------------------- /publisher/apis/notify/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('Notify service message in: ' + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } 39 | -------------------------------------------------------------------------------- /publisher/apis/publish/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('Publish service message in: ' + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } 39 | -------------------------------------------------------------------------------- /search/apis/cache-query/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log("search CACHE-QUERY message in: " + JSON.stringify(message, null, 2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /publisher/apis/evaluate/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('Publish evaluate message in: ' + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } 39 | -------------------------------------------------------------------------------- /repoadapter/apis/delete/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('REPO ADAPTER Service onMSResponse message in: ' + JSON.stringify(message)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /fhir/apis/searchset/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('FHIR API service SEARCHSET message in: ' + JSON.stringify(message, null ,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } 39 | -------------------------------------------------------------------------------- /repoadapter/apis/respond/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('REPO ADAPTER service RESPOND message in: ' + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /repoadapter/apis/search/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('REPO ADAPTER service SEARCH message in: ' + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /repoadapter/apis/searchset/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('REPO ADAPTER service SEARCHSET message in: ' + JSON.stringify(message,null,2)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /repoadapter/apis/read/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('REPO ADAPTER service READ message in: ' + JSON.stringify(message)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /repoadapter/apis/create/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | console.log('REPO ADAPTER Service onMSResponse message in: ' + JSON.stringify(message)); 36 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 37 | if(!dispatched) return false; 38 | } -------------------------------------------------------------------------------- /authentication/apis/validate/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | //Forward message to local FHIR Server Adapters 36 | console.log("AUTH Validate message in: " + JSON.stringify(message,null,2)); 37 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 38 | if(!dispatched) return false; 39 | } -------------------------------------------------------------------------------- /repo/apis/read/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | //Forward to repoadapter respond... 35 | module.exports = function(message, jwt, forward, sendBack) { 36 | console.log("repo READ message in: " + JSON.stringify(message,null,2)); 37 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 38 | console.log("Dispatched: " + dispatched); 39 | if(!dispatched) return false; 40 | } -------------------------------------------------------------------------------- /fhir/apis/create/onMSResponse.js: -------------------------------------------------------------------------------- 1 | /* 2 | ---------------------------------------------------------------------------------------------------------------------------- 3 | | ROQR - fhiR On Qewd and dockeR | 4 | | Developed as part of the Yorkshire and Humber Care Record ("LHCRE") | 5 | | https://yhcr.org/wp-content/uploads/2019/05/YHCR_Design_Paper_003__Conceptual_Design_for_a_FHIR_Proxy_Server_v2.0.docx | | 6 | | | 7 | | http://www.synanetics.com | 8 | | Email: support@synanetics.com | 9 | | | 10 | | QEWD | 11 | | http://qewdjs.com | 12 | | https://github.com/robtweed/qewd/tree/master/up | 13 | | | 14 | | FHIR/NHS Care Connect | 15 | | https://nhsconnect.github.io/CareConnectAPI/ | 16 | | | 17 | | Licensed under the Apache License, Version 2.0 (the "License"); | 18 | | you may not use this file except in compliance with the License. | 19 | | You may obtain a copy of the License at | 20 | | | 21 | | http://www.apache.org/licenses/LICENSE-2.0 | 22 | | | 23 | | Unless required by applicable law or agreed to in writing, software | 24 | | distributed under the License is distributed on an "AS IS" BASIS, | 25 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 26 | | See the License for the specific language governing permissions and | 27 | | limitations under the License. | 28 | ---------------------------------------------------------------------------------------------------------------------------- 29 | MVP pre-Alpha release: 4 June 2019 30 | */ 31 | 32 | var dispatcher = require('../../../configuration/messaging/dispatcher.js').dispatcher; 33 | 34 | module.exports = function(message, jwt, forward, sendBack) { 35 | //Forward message to local FHIR Server Adapters 36 | console.log("FHIR API Service CREATE message in: " + JSON.stringify(message,null,2)); 37 | var dispatched = dispatcher.dispatch(message,jwt,forward,sendBack); 38 | if(!dispatched) return false; 39 | } 40 | --------------------------------------------------------------------------------