Giter VIP home page Giter VIP logo

smart_server's People

Contributors

arjunsanyal avatar benadida avatar jmandel avatar p2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smart_server's Issues

oauth: can't login with demouser after auto install

setting path /accounts/{user_id}/apps/{smart_app_id}/preferences <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1039a7650>
setting path /records/{record_id}/allergies/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1039c5bd0>
setting path /records/{record_id}/problems/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1039bedd0>
Permission denied for  session_create None
[11/Apr/2012 15:02:56] "POST /oauth/internal/session_create HTTP/1.1" 403 26
2012-04-11 19:02:56,408 DEBUG 

>>> error: likely a bad username/password, or incorrect tokens from UI server to backend server.


[11/Apr/2012 19:02:56] "POST /login HTTP/1.1" 200 3637

Error after clean install with smart_manager from dev

Ideas? Does the dev branch need an updated client submodule?

INDEX ui/index
[17/Apr/2012 21:00:32] "GET / HTTP/1.1" 302 0
[17/Apr/2012 21:00:32] "GET /login HTTP/1.1" 200 3440
In helper app data store chrome
got calls 39
setting path /records/{record_id}/immunizations/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028c0990>
setting path /records/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1024a4bd0>
setting path /records/{record_id}/allergies/{allergy_id} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x102896250>
setting path /records/{record_id}/immunizations/{immunization_id} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028c0950>
setting path /records/{record_id}/lab_results/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028f5f50>
setting path /records/{record_id}/allergies/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028961d0>
setting path /ontology <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028e2c90>
setting path /records/{record_id}/problems/{problem_id} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028cda10>
setting path /records/{record_id}/encounters/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x102896f10>
setting path /records/{record_id}/allergies/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x102896210>
setting path /records/{record_id}/problems/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028cd990>
setting path /users/{user_id} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028cd150>
setting path /accounts/{user_id}/apps/{smart_app_id}/preferences <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028fc2d0>
setting path /records/{record_id}/vital_signs/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x10288d050>
setting path /records/{record_id}/demographics <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028d3190>
setting path /records/{record_id}/demographics <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028d31d0>
setting path /records/{record_id}/fulfillments/{fulfillment_id} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028ddf10>
setting path /records/{record_id}/vital_signs/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x102892fd0>
setting path /records/{record_id}/immunizations/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028c09d0>
setting path /accounts/{user_id}/apps/{smart_app_id}/preferences <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028fc290>
setting path /records/{record_id}/fulfillments/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028dded0>
setting path /records/{record_id}/vital_signs/{vital_signs_id} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x10288d090>
setting path /capabilities/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028c7310>
setting path /records/{record_id}/lab_results/{lab_result_id} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028f5ed0>
setting path /apps/manifests/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x102896350>
setting path /records/{record_id}/demographics <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028d3110>
setting path /records/{record_id}/fulfillments/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028ddf50>
setting path /records/{record_id}/problems/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028cd9d0>
setting path /apps/{descriptor}/manifest <smart.client.common.rdf_ontology.SMART_API_Call object at 0x102896310>
setting path /records/{record_id}/medications/{medication_id} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028dd3d0>
setting path /records/{record_id}/alerts/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028e2610>
setting path /records/{record_id}/encounters/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x102896f50>
setting path /records/search?given_name={given_name}&family_name={family_name}&zipcode={zipcode}&birthday={birthday}&gender={gender}&medical_record_number={medical_record_number} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028d3150>
setting path /users/search?given_name={given_name}&family_name={family_name} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028cd190>
setting path /accounts/{user_id}/apps/{smart_app_id}/preferences <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028fc310>
setting path /records/{record_id}/medications/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028dd350>
setting path /records/{record_id}/medications/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028dd390>
setting path /records/{record_id}/lab_results/ <smart.client.common.rdf_ontology.SMART_API_Call object at 0x1028f5f10>
setting path /records/{record_id}/encounters/{encounter_id} <smart.client.common.rdf_ontology.SMART_API_Call object at 0x102896ed0>

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 279, in run
    self.result = application(self.environ, self.start_response)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 651, in __call__
    return self.application(environ, start_response)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 241, in __call__
    response = self.get_response(request)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 134, in get_response
    return self.handle_uncaught_exception(request, resolver, exc_info)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 83, in get_response
    request.path_info)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py", line 218, in resolve
    sub_match = pattern.resolve(new_path)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py", line 216, in resolve
    for pattern in self.url_patterns:
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py", line 245, in _get_url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py", line 240, in _get_urlconf_module
    self._urlconf_module = import_module(self.urlconf_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_server/smart/urls/urls.py", line 87, in <module>
    OntologyURLMapper(urlpatterns)
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_server/smart/models/ontology_url_patterns.py", line 15, in __init__
    mapper = CallMapper.map_call(c)
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_server/smart/models/ontology_url_patterns.py", line 66, in map_call
    return in_order[-1]
IndexError: list index out of range


[17/Apr/2012 17:00:54] "POST /oauth/internal/session_create HTTP/1.1" 500 2438
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 279, in run
    self.result = application(self.environ, self.start_response)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 651, in __call__
    return self.application(environ, start_response)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 241, in __call__
    response = self.get_response(request)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 134, in get_response
    return self.handle_uncaught_exception(request, resolver, exc_info)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 92, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_ui_server/ui/views.py", line 366, in login
    ret = tokens_get_from_server(request, username, password)
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_ui_server/ui/views.py", line 56, in tokens_get_from_server
    tmp = api.create_session({'username' : username, 'user_pass' : password})
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_ui_server/indivo_client_py/lib/client.py", line 270, in create_session
    chrome_token = self.api.call(self.ds.app_info, chrome_auth)['prd']
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_ui_server/indivo_client_py/lib/api.py", line 23, in call
    return method(**kwargs)
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_ui_server/indivo_client_py/lib/api.py", line 84, in create_session
    debug=debug)
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_ui_server/indivo_client_py/lib/iutils.py", line 382, in get_response
    ), app_info, parameters, req_data),
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_ui_server/indivo_client_py/lib/iutils.py", line 156, in http_conn
    return self._http_request(method, oauth_header, data)
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_ui_server/indivo_client_py/lib/iutils.py", line 111, in _http_request
    raise IUtilsError('Server Error')
IUtilsError: 'Server Error'
[17/Apr/2012 21:00:54] "POST /login HTTP/1.1" 500 2413

fix "capabilities" references in ontology

to strip: references to old capabilities API:

Capabilities RDF

A SMART Container's capabilities are reported as an RDF graph. So far only three capabilities have been defined, as shown in the example below. These are:

   * lookup in SNOMED
   * lookup in FDA Structured Product Labels
   * lookup in NLM Pillbox.

Server crashes when database does not exist

Would be nicer if it returned an error message. :)

Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/django/core/servers/basehttp.py", line 280, in run
self.result = application(self.environ, self.start_response)
  File "/Library/Python/2.7/site-packages/django/core/servers/basehttp.py", line 674, in __call__
return self.application(environ, start_response)
  File "/Library/Python/2.7/site-packages/django/core/handlers/wsgi.py", line 248, in __call__
response = self.get_response(request)
  File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 141, in get_response
return self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 80, in get_response
response = middleware_method(request)
  File "/Library/SMART/smart_server/../smart_server/smart/middlewares/authentication.py", line 29, in process_request
request.principal, request.oauth_request = security.get_principal(request)
  File "/Library/SMART/smart_server/smart/accesscontrol/security.py", line 41, in get_principal
pha, token, parameters, oauth_request = get_oauth_info(request, SMART_CONNECT_OAUTH_SERVER)
  File "/Library/SMART/smart_server/smart/accesscontrol/security.py", line 26, in get_oauth_info
oauth_request = server.extract_oauth_request(djangoutils.extract_request(request))
  File "/Library/SMART/smart_server/oauth/oauth.py", line 516, in extract_oauth_request
return OAuthRequest.from_http_request(http_request, self.store)
  File "/Library/SMART/smart_server/oauth/oauth.py", line 462, in from_http_request
consumer = oauth_store.lookup_consumer(oauth_consumer_key)
  File "/Library/SMART/smart_server/smart/accesscontrol/oauth_servers.py", line 266, in lookup_consumer
return self._get_chrome_app(consumer_key)
  File "/Library/SMART/smart_server/smart/accesscontrol/oauth_servers.py", line 349, in _get_chrome_app
return models.MachineApp.objects.get(consumer_key = consumer_key, app_type='chrome')
  File "/Library/Python/2.7/site-packages/django/db/models/manager.py", line 132, in get
return self.get_query_set().get(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 342, in get
num = len(clone)
  File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 80, in __len__
self._result_cache = list(self.iterator())
  File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 271, in iterator
for row in compiler.results_iter():
  File "/Library/Python/2.7/site-packages/django/db/models/sql/compiler.py", line 677, in results_iter
for rows in self.execute_sql(MULTI):
  File "/Library/Python/2.7/site-packages/django/db/models/sql/compiler.py", line 731, in execute_sql
cursor = self.connection.cursor()
  File "/Library/Python/2.7/site-packages/django/db/backends/__init__.py", line 75, in cursor
cursor = self._cursor()
  File "/Library/Python/2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 136, in _cursor
self.connection = Database.connect(**conn_params)
OperationalError: FATAL:  database "smart" does not exist

[05/Jul/2012 10:37:26] "POST /oauth/internal/session_create HTTP/1.1" 500 3187

Lab result example does not pass API Verifier

[testStructure] RDF structure check failed

Unexpected results (first 3 shown):
DxyOzFZN612
Test:
sp:Person must have at least one vcard:n property
Fail condition:
Query returns a non-empty result set
Query:
PREFIX rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#
PREFIX sp:http://smartplatforms.org/terms#
PREFIX vcard:http://www.w3.org/2006/vcard/ns#
SELECT ?s
WHERE {
?s rdf:type sp:Person .
OPTIONAL {
?s vcard:n ?o .
?o rdf:type vcard:Name .
}
FILTER ( !BOUND(?o) )
}
For further information:
http://wiki.chip.org/smart-project/index.php/Developers_Documentation:_SMART_Data_Model#Person_RDF

Incorporate graph merge functionality into SMART JS client

function addGraphs(){
   //add all graphs in arguments to new rdfquery object
   var rq = SMART.$.rdf();

   $.each(arguments, function(){
       rq.databank = rq.databank.add(this.graph.databank,{namespaces:
this.graph.prefix()});
   });

   return rq;
}

GET /records/search/xml throws a 500

On branch dev, commit 0b6a5ec62ba18efe7d3deb43e833b5c37c8361d5. When calling api.call("GET", "/records/search/xml") from the UI-server, I get a 500 on the server:

PROCESSING EXCEPTION
 ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__', '__getslice__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__unicode__', '__weakref__', 'args', 'body', 'message', 'status']
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/Library/SMART/smart_server/smart/views/smarthacks.py", line 275, in record_search_xml
    record_list = Record.search_records(q)
  File "/Library/SMART/smart_server/smart/models/records.py", line 37, in search_records
    ids  = parse_rdf(c.sparql(query))
  File "/Library/SMART/smart_server/smart/triplestore/triplestore.py", line 42, in sparql
    return super(TripleStore, self).sparql(query)
  File "/Library/SMART/smart_server/smart/triplestore/sesame.py", line 74, in sparql
    "Accept" : "application/rdf+xml,  application/sparql-results+json"}, data)
  File "/Library/SMART/smart_server/smart/triplestore/sesame.py", line 37, in _request
    return utils.url_request(url, method, headers, data)
  File "/Library/SMART/smart_server/smart/lib/utils.py", line 162, in url_request
    return url_request_execute(req)
  File "/Library/SMART/smart_server/smart/lib/utils.py", line 196, in url_request_execute
    raise URLFetchException(r.status, data)
URLFetchException
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/django/core/servers/basehttp.py", line 283, in run
    self.result = application(self.environ, self.start_response)
  File "/Library/Python/2.7/site-packages/django/contrib/staticfiles/handlers.py", line 68, in __call__
    return self.application(environ, start_response)
  File "/Library/Python/2.7/site-packages/django/core/handlers/wsgi.py", line 272, in __call__
    response = self.get_response(request)
  File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 169, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/Library/SMART/smart_server/smart/views/smarthacks.py", line 275, in record_search_xml
    record_list = Record.search_records(q)
  File "/Library/SMART/smart_server/smart/models/records.py", line 37, in search_records
    ids  = parse_rdf(c.sparql(query))
  File "/Library/SMART/smart_server/smart/triplestore/triplestore.py", line 42, in sparql
    return super(TripleStore, self).sparql(query)
  File "/Library/SMART/smart_server/smart/triplestore/sesame.py", line 74, in sparql
    "Accept" : "application/rdf+xml,  application/sparql-results+json"}, data)
  File "/Library/SMART/smart_server/smart/triplestore/sesame.py", line 37, in _request
    return utils.url_request(url, method, headers, data)
  File "/Library/SMART/smart_server/smart/lib/utils.py", line 162, in url_request
    return url_request_execute(req)
  File "/Library/SMART/smart_server/smart/lib/utils.py", line 196, in url_request_execute
    raise URLFetchException(r.status, data)
URLFetchException
[05/Jul/2012 19:47:05] "GET /records/search/xml HTTP/1.1" 500 1830

Improvements to allergy model

  • Right now an allergy has no dates... Add start/end dates to allergies
  • Free text representation?
  • Re-evaluate coding decisinos

SMART REST OAuth fixup + document

Change the operation of SMART REST so that instead of attaching an OAuth header as a URL param, the individual OAuth params are just passes as URL params themselves, as per http://oauth.net/core/1.0a Section 5.2 #3.

Also: document a complete example of a signed request in the SMART docs.

Eliminate implicit magic URL interpolation when loading smart_manifest.json

We need a better way to host manifests on sample-apps.smartplatforms.org. Currently the manifests have:

"base_url" : "http://localhost:8001",

which is super-confusing for anyone building a container who wants to load these directly, e.g. from:

http://sample-apps.smartplatforms.org/framework/got_statins/smart_manifest.json

(The OpenMRS team has pointed out how confusing this is.)

Mistaken sp:Demographics example in ontology

Looks like I made a copy/paste error resulting in the Demographics example being replaced with a LabResult example nearly a month ago! I've updated the ontology in master + dev.

Nikolai, do you want new v0.4x tags pushed too?

Document the rationale for the AllergyExclusion model

This is about explicitly conveying the difference between absence of
evidence (e.g. maybe no one ever asked) vs. evidence of absence (asked
and denied). This isn't elegant but it is explicit -- which is to
say, I've tried to avoid "modifier" predicates that would drastically
change meaning of an element.

A pattern that shows up in clinical models is something like an
"isNegated" triple to say that whatever thing this is, the opposite is
in fact true. This is scary, because apps have to really "get it
right," and the semantics of negating an entire clinical statements
aren't always clear (e.g. is this statement denying the patient ever
took Penicillin? Or just denying that she took it within the
specified date range?)

For more background, see "Clinical Statement Status and Negation" at:
http://www.openehr.org/releases/1.0.1/html/architecture/overview/Output/design_of_ehr.html

Records search does not work

This code in UI server:

params = None
record_rdf = api.call("GET", "/records/search", options={'parameters': params});

results in this call to the backend:

GET /records/search

and correctly returns all records.


This code in UI server:

params = {'family_name': 'Morgan'}
record_rdf = api.call("GET", "/records/search", options={'parameters': params});

executes on the backend:

GET /records/search?family_name=Morgan

and returns no records, despite there being an "Amy Morgan". Similarly:

params = {'family_name': 'M'}
record_rdf = api.call("GET", "/records/search", options={'parameters': params});

executes on the backend:

GET /records/search?family_name=M

and returns no records, although it should return all records that start with the letter "M".

Error running smart_manager on OS X

Ran as: "python smart_manager.py -a -d". Looks like a difference in sed params? I'll check this out.


Configuring SMART server settings...

SMART API Server [http://localhost:7000]: 

Chrome App Consumer ID [chrome]: 

Chrome App Consumer secret [tQrQCWbk]: 

SMART UI server [http://localhost:7001]: 

SMART App server [http://localhost:8001]: 

Run server in standalone mode (patient data stored in local db)?  
            If you choose 'no', the server will be configured in proxy mode, 
            with patient data hosted at a REST URL you provide. [yes]: 
cp smart_server/settings.py.default smart_server/settings.py
cp smart_server/bootstrap_helpers/application_list.json.default smart_server/bootstrap_helpers/application_list.json 
sed -i -e's/http:\/\/localhost:8001/http:\/\/localhost:8001/' smart_server/bootstrap_helpers/application_list.json
 sed: 1: "smart_server/bootstrap_ ...": unterminated substitute pattern

cp smart_ui_server/settings.py.default smart_ui_server/settings.py
cp smart_sample_apps/settings.py.default smart_sample_apps/settings.py
sed -i -e's/{{path_to_smart_server}}/\/Users\/arjunsanyal\/Desktop\/chip_new\/code\/smart_server/' smart_server/settings.py
 sed: 1: "smart_server/settings.py": unterminated substitute pattern

sed -i -e's/{{path_to_smart_ui_server}}/\/Users\/arjunsanyal\/Desktop\/chip_new\/code\/smart_ui_server/' smart_ui_server/settings.py
 sed: 1: "smart_ui_server/setting ...": unterminated substitute pattern

sed -i -e's/{{path_to_smart_sample_apps}}/\/Users\/arjunsanyal\/Desktop\/chip_new\/code\/smart_sample_apps/' smart_sample_apps/settings.py
 sed: 1: "smart_sample_apps/setti ...": unterminated substitute in regular expression

sed -i -e's/{{api_server_base_url}}/http:\/\/localhost:7000/' smart_server/settings.py
 sed: 1: "smart_server/settings.py": unterminated substitute pattern

sed -i -e's/{{api_server_base_url}}/http:\/\/localhost:7000/' smart_ui_server/settings.py
 sed: 1: "smart_ui_server/setting ...": unterminated substitute pattern

sed -i -e's/{{app_server_base_url}}/http:\/\/localhost:8001/' smart_sample_apps/settings.py
 sed: 1: "smart_sample_apps/setti ...": unterminated substitute in regular expression

sed -i -e's/{{api_server_base_url}}/http:\/\/localhost:7000/' smart_sample_apps/settings.py
 sed: 1: "smart_sample_apps/setti ...": unterminated substitute in regular expression

sed -i -e's/{{chrome_consumer}}/chrome/' smart_server/settings.py
 sed: 1: "smart_server/settings.py": unterminated substitute pattern

sed -i -e's/{{chrome_secret}}/tQrQCWbk/' smart_server/settings.py
 sed: 1: "smart_server/settings.py": unterminated substitute pattern

sed -i -e's/{{chrome_consumer}}/chrome/' smart_ui_server/settings.py
 sed: 1: "smart_ui_server/setting ...": unterminated substitute pattern

sed -i -e's/{{chrome_secret}}/tQrQCWbk/' smart_ui_server/settings.py
 sed: 1: "smart_ui_server/setting ...": unterminated substitute pattern

sed -i -e's/{{ui_server_base_url}}/http:\/\/localhost:7001/' smart_server/settings.py
 sed: 1: "smart_server/settings.py": unterminated substitute pattern

yes standalone
sed -i -e's/{{use_proxy}}/False/' smart_server/settings.py
 sed: 1: "smart_server/settings.py": unterminated substitute pattern

Traceback (most recent call last):
  File "smart_manager.py", line 331, in <module>
    main()
  File "smart_manager.py", line 235, in main
    server_settings = imp.load_source("settings", "smart_server/settings.py")
  File "smart_server/settings.py", line 20, in <module>
    PLUGIN_USE_PROXY = {{use_proxy}} # Enable PROXY_MODE: True or False
NameError: name 'use_proxy' is not defined

AttributeError: 'module' object has no attribute 'XMLField'

Where's XMLField?

~/Desktop/chip_new/code/$ python smart_manager.py -l
cd smart_server; PYTHONPATH=.:.. DJANGO_SETTINGS_MODULE=settings python load_tools/load_one_patient.py  ../smart_sample_patients/generated-data/* ;cd ..;
Traceback (most recent call last):
  File "load_tools/load_one_patient.py", line 3, in <module>
    from smart.models.rdf_store import TemporaryStoreConnector, RecordStoreConnector
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_server/smart/models/__init__.py", line 11, in <module>
    from records import *
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_server/smart/models/records.py", line 16, in <module>
    from smart.models.rdf_store import DemographicConnector, RecordStoreConnector
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_server/smart/models/rdf_store.py", line 18, in <module>
    class PHA_RDFStore(Object): 
  File "/Users/arjunsanyal/Desktop/chip_new/code/smart_server/smart/models/rdf_store.py", line 21, in PHA_RDFStore
    triples = models.XMLField(schema_path="%s../schema/%s"%(settings.XSLT_STYLESHEET_LOC, "rdf.xsd"))
AttributeError: 'module' object has no attribute 'XMLField'

~/Desktop/chip_new/code/$ grep -r XMLField . 
./smart_server/smart/models/rdf_store.py:  triples = models.XMLField(schema_path="%s../schema/%s"%(settings.XSLT_STYLESHEET_LOC, "rdf.xsd"))
Binary file ./smart_server/smart/models/rdf_store.pyc matches
~/Desktop/chip_new/code/$ 

Use URI nodes (not blank nodes) in documentation examples

The wiki documentation makes it seem as though clinical statements are blank nodes, represented in RDF/XML by <sp:Medication> tags.

The should actually look like

<sp:Medication rdf:about=’http://smart.org/records/123/medicationss/456’>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.